我目前通过使用角色和规则在我的应用程序中有一些安全工作,但我想知道是否可以隐藏网络链接,具体取决于用户是否属于某个角色。隐藏未分配角色的用户的网页链接
我目前拥有它,因此用户属于“管理员”角色或“用户”角色。我的应用程序中的文件夹中已经设置了规则,所以如果用户属于任何一个组,他们可以点击一个网页链接并将它们带到页面。但是,如果新用户注册,他们不属于任何角色,并且当他们点击网页链接时,它会将其重定向到主页(请参阅下面的代码)。这很好,但是,我想知道是否可以隐藏该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