[英]asp.net c# user login access and authorization and menu
我正在開發Web應用程序,並且我有3種類型的用戶。 眾所周知,不同的用戶具有不同的訪問權限。 假設有三個用戶A,B,C。
共有5個菜單,例如menu1,menu2.menu3,menu4,menu5。
我必須設置訪問權限,例如
用戶A可以訪問menu1,menu2.menu3,menu4,menu5。
用戶B可以訪問menu2.menu3。
用戶C可以訪問menu3,menu4,menu5。
在此,我可以再添加一個具有不同訪問權限的用戶。
我的問題是我如何設計數據庫以及應采用什么邏輯來獲得此結果。
我有一個解決方案,但我正在通過數據庫進行嘗試。 該解決方案是為不同用戶保留不同的母版頁,但這不是一個好的解決方案。
有很多方法可以做到這一點。 這是您可以做什么的示例:
我假設您只有五個菜單。 你可以做這樣的事情。
據我所知,首先需要將信息插入數據庫中以進行訪問控制。 因此,您可以執行類似的操作以將值插入數據庫以進行訪問控制。
User Menu-1 Menu-2 Menu-3 Menu-4 Menu-5
A 1 1 1 1 1
B 0 1 1 0 0
C 0 0 1 1 1
您可以使用Repeater或Grdiview來顯示上面的UI。
0和1 只是復選框 。
0- Means checkbox is not checked & user cannot access that menu
1- Means checkbox is checked & user can access that menu
表結構
Create Table User_Details
(
UserId int identity(1,1)
UserName varchar(100),
menu1 bit,
menu2 bit,
menu3 bit,
menu4 bit,
menu5 bit
)
這與將有關數據庫的信息插入數據庫有關。
Now for Access Control you can Do :
我假設您已將User control
用於菜單。
如果您的用戶已登錄,那么您將擁有該用戶的ID
,並且在菜單的所有頁面(用戶控制)中,需要檢查用戶是否有權訪問該特定菜單
IF YES :
那么您可以使該菜單的面板對該用戶可見
IF NO :
那么您必須在菜單面板中對該用戶不可見
面向對象的方法和數據處理效率。
創建2個表: t_Users和t_Types
t_Type具有類似(ID,role)的列,角色將是您的訪問類型,(例如admin,普通用戶)
t_Users具有(ID,Name,TypeID)之類的列,其中TypeID是外鍵,供您分配用戶所屬的用戶類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.