我目前通過使用角色和規則在我的應用程序中有一些安全工作,但我想知道是否可以隱藏網絡鏈接,具體取決於用戶是否屬於某個角色。隱藏未分配角色的用戶的網頁鏈接
我目前擁有它,因此用戶屬於「管理員」角色或「用戶」角色。我的應用程序中的文件夾中已經設置了規則,所以如果用戶屬於任何一個組,他們可以點擊一個網頁鏈接並將它們帶到頁面。但是,如果新用戶註冊,他們不屬於任何角色,並且當他們點擊網頁鏈接時,它會將其重定向到主頁(請參閱下面的代碼)。這很好,但是,我想知道是否可以隱藏該Web鏈接,如果用戶不屬於特定的角色,阻止他們點擊它。另外,如果用戶不屬於任何角色,他們可以重定向到一個頁面告訴他們他們需要分配一個角色?
<authentication mode="Forms">
<forms loginUrl="~/Homepage1.aspx" timeout="2880" />
</authentication>
我不當前應用程序中使用,但在過去,這種檢查用戶是否已通過驗證,我不知道我是否可以使用類似的IF語句: 如果user.identity不屬於到'用戶'或'管理員'角色,然後重定向到頁面並顯示錯誤?
If User.Identity.IsAuthenticated = True Then
Dim myUser As MembershipUser
Dim objUser As Object
myUser = Membership.GetUser(User.Identity.Name)
objUser = myUser.ProviderUserKey
Session("ID") = objUser
Else
MsgBox("You are not entitled to view this page", MsgBoxStyle.Critical, "Warning")
Response.Redirect("~/NoAccess.aspx")
End If
我假設我不得不聲明用戶?暗淡的用戶作爲membershipuser?或者是否有特定的角色聲明? – Blob 2012-04-04 14:06:12
'用戶'是內置的。它是當前登錄用戶的'System.Security.Principal.IPrincipal'。 – 2012-04-04 14:08:09
我建議你閱讀我添加到我的答案中的鏈接,以便閱讀角色管理及其工作原理。 – 2012-04-04 15:01:59