首頁| 新聞| 娛樂| 游戲| 科普| 文學| 編程| 系統| 數據庫| 建站| 學院| 產品| 網管| 維修| 辦公| 熱點
(1)用戶表
權限是根據登陸者不同而不同的,用戶表就比較簡單了,簡單的表設計如下
[user_no] [nvarchar](20) NOT NULL, //用戶ID,主鍵 [user_name] [nvarchar](20) NULL, [user_passWord] [nvarchar](20) NULL,
(2)權限列表
設置所有的權限,例如新增,修改,查詢
[action_id] [nvarchar](20) NULL, [action_name] [nvarchar](20) NULL
(3)功能表
系統的功能是存在數據庫中的,根據權限來獲取部分功能,并展示。表設計如下:
[function_id] [nvarchar](20) NOT NULL,//功能id [function_brother_id] [int] NOT NULL,//相同功能的不同頁面 [function_name] [nvarchar](50) NULL, [function_url] [nvarchar](500) NULL, [function_level] [int] NULL, [function_sort] [int] NULL, [function_action] [nvarchar](100) NULL, [function_parent_id] [nvarchar](20) NULL, [function_inmenu] [bit] NULL,//是否在菜單中
為什么有[function_brother_id],一個菜單里面的一個功能可能會有多個頁面。例如一個用戶頁面,可能在功能里面叫用戶信息,但是會涉及多個頁面,每個頁面都需要權限。[function_inmenu]就是判斷同功能里面菜單里鏈接是其中哪個頁面(只能有一個)。
[function_action]是根據權限列表給每個功能賦給權限
(4)權限組
我們的權限是根據組來區分的。一個用戶在一個組里面,那個組里面有哪幾個功能,其中每個功能有哪幾種權限。這就是我們的系統權限的核心了,不過比較簡單。
[group_id] [nvarchar](20) NOT NULL, [group_name] [nvarchar](50) NULL,
這里面存儲權限組的基本信息,一般會默認有系統管理者和一般使用者。
(5)用戶權限組
設定用戶在哪個群組。我們目前的系統設計的是一個用戶可以有多個組,但是我覺得一個用戶設定一個群組就ok了。如果一個用戶沒有設定在哪個組,默認為一般使用者。
[group_id] [nvarchar](20) NULL, [user_no] [nvarchar](20) NOT NULL,
(6)群組功能
設定每個群組里面有哪幾個功能,每個功能有哪幾種權限。
注意,功能表里面的權限與此處不同,可能一個功能有查詢和刪除權限,但是本群組里面的這個功能只有查詢權限。
這個權限必須是在功能里面此功能所有的權限中。
[group_id] [nvarchar](20) NOT NULL, [function_id] [nvarchar](20) NOT NULL, [group_action] [nvarchar](100) NULL,
表設計到此ok,算是比較簡單的。
(1)登陸時
驗證通過時,
> 根據用戶id去用戶權限表里面取得此用戶所對應的群組
>根據群組對應的所有功能去功能表里面找到相應的在菜單中的功能,這里可以拼成xml來組成功能列表,
這樣就可以實現有些功能在菜單,有些沒權限的則不在,也可以查到此功能有哪些權限(比如只有查詢權限,或是還有新增權限)
進入頁面時的處理
群組功能里面無此頁面功能時,就算是直接輸入連接也會被拒絕訪問
根據頁面找到功能id,再找到登入者所屬群組此頁面有哪些權限,根據權限來實現一下頁面元素的隱藏和顯示(如沒有新增權限就把新增按鈕隱藏)
這樣就實現了登入者的權限,進入頁面的權限和頁面上一些操作的權限了。
索泰發布一款GTX 1070 Mini迷
AMD新旗艦顯卡輕松干翻NVIDIA
索泰發布一款GTX 1070 Mini迷你版本:小機
芭蕾舞蹈表演,真實美到極致
下午茶時間,悠然自得的休憩
充斥這繁華奢靡氣息的城市迪拜風景圖片
從山間到田野再到大海美麗的自然風景圖片
肉食主義者的最愛美食烤肉圖片
夏日甜心草莓美食圖片
人逢知己千杯少,喝酒搞笑圖集
搞笑試卷,學生惡搞答題
新聞熱點
疑難解答
圖片精選
使用ASP建設私人搜索引擎
華為短消息中心的發展與應用
移動通信計費及客戶服務系統
移動客戶服務中心系統
網友關注