天天看點

【自然架構】之通用權限的Demo(二):添加人員、添加賬戶、添加角色裡面的賬戶以及清單的權限驗證

      看了一下上一次發Demo的日期6月15日,已經過了半個多月,這個速度也實在是太慢了。還是心情的原因,恩,心理承受能力太弱了,哈哈。不過還是要堅持的,要繼續下去。

      還是先說一下這次的Demo裡增加的内容吧。

      1、添加人員

            這個很簡陋了,主要就是為了能夠添加一條人員資訊,然後可以給這個人員來添加賬戶。不過後續我會把這一塊完善一下的,能夠實作一些基本的人員管理的功能。

      2、添加賬戶

            先選擇一個人員,然後給這個人員添加一個賬戶,然後就可以用這個賬戶登入了,如果沒有給他配置設定角色的話,那麼他就隻能登入,什麼都做不了,呵呵。

【自然架構】之通用權限的Demo(二):添加人員、添加賬戶、添加角色裡面的賬戶以及清單的權限驗證

      3、添加角色裡面的賬戶

            3.1、這裡我修改了一下“添加角色”的背景代碼,雖然您可能還是看不上眼,但是比前一版本要好上一些。

【自然架構】之通用權限的Demo(二):添加人員、添加賬戶、添加角色裡面的賬戶以及清單的權限驗證

            3.2、增加了一個“給角色添加賬戶”的功能,就是往角色裡面加賬戶了。然後再用這個賬戶登入,就可以看到角色裡允許使用的功能節點了。

【自然架構】之通用權限的Demo(二):添加人員、添加賬戶、添加角色裡面的賬戶以及清單的權限驗證

      4、清單的權限驗證,即權限到節點的驗證。

            權限到節點,如果隻是在功能節點上做一下過濾,把沒有權限的節點過濾掉的話,那是不夠安全的,因為可以直接在浏覽器的位址欄上面輸入網址。也就是說需要在清單頁面裡再做一次驗證才行。

            我是在清單的基類裡面做的這個驗證,也很簡單,代碼如下。其他頁面調用一下即可。

#region 驗證權限 實作的代碼

        /// <summary>

        /// 驗證目前使用者是否可以通路指定的功能節點

        /// </summary>

        /// <param name="functionID">要驗證的節點</param>

        public void CheckFunctionID(string functionID)

        {

            //判斷目前使用者是否有權限通路該網頁,

            string tmpFunctionIDs = "," + this.MyUser.FunctionIDs + ",";

            functionID = "," +functionID + ",";

            if (tmpFunctionIDs.IndexOf(functionID) >= 0)

            {

                //有權限

            }

            else

                //沒有權限

                Response.Redirect("/noPermission.aspx");

                Response.End();

        }