授权具有多个角色的属性asp.net

授权具有多个角色的属性asp.net,asp.net,Asp.net,看来我不能同时扮演两个角色。如果我只使用“管理员”它的作品,如果只有“顾问”它也工作,但不工作时,我的代码他们两个,所以任何想法或帮助?我需要两个角色 这是我的密码 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' Check that the user is a registered user If User.Identity.IsAut

看来我不能同时扮演两个角色。如果我只使用“管理员”它的作品,如果只有“顾问”它也工作,但不工作时,我的代码他们两个,所以任何想法或帮助?我需要两个角色

这是我的密码

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    ' Check that the user is a registered user
    If User.Identity.IsAuthenticated = False Then
        Response.Redirect("Unauthorized.aspx")
    End If

    ' Check that the user belongs to the role Administrators
    If Roles.IsUserInRole("administrator") = False Then
        Response.Redirect("Unauthorized.aspx")
    End If

    ' Check that the user belongs to the role Advisor
    'If Roles.IsUserInRole("advisor") = False Then
    '    Response.Redirect("Unauthorized.aspx")
    'End If


End Sub

您可以使用逻辑“或”运算符:
如果不是角色。IsUserInRole(“管理员”)或不是角色。IsUserInRole(“顾问”)则…
。另外,您可能不会将逻辑值与
False
True
进行比较,f.e.:
如果不是User.Identity.IsAuthenticated,那么…
@MarkShevchenko我这样做是因为您刚刚发表了评论,仍然不起作用,但感谢您让我尝试一下,因为我给出了错误的答案,对不起。正确答案是:使用逻辑AND运算符。否定用户是管理员或用户是顾问是用户不是管理员,用户不是顾问,因此如果不是角色,您的代码应该是
。IsUserInRole(“管理员”)而不是角色。IsUserInRole(“顾问”)然后…
@MarkShevchenko感谢您的帮助。。现在它可以正常工作了