asp表单身份验证

时间:2011-05-08 10:15:06

标签: asp.net forms-authentication

我已经构建了一个登录页面,用户在asp.net web管理工具中定义了用户 我正在尝试根据用户角色授予权限 我用这个代码

Public Sub mainlogin_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles mainlogin.Authenticate

    If Membership.ValidateUser(mainlogin.UserName, mainlogin.Password) Then
        Dim usrInfo As MembershipUser = Membership.GetUser(mainlogin.UserName)
        Session("UsrName") = usrInfo.UserName

        If User.IsInRole("Deans") Then
            Session("UsrRole") = "Deans"

        ElseIf User.IsInRole("Rector") Then
            Session("UsrRole") = "Rector"

    End If

但问题是,User.IsInRole为空,因为用户尚未分配给登录的用户。

1 个答案:

答案 0 :(得分:0)

在您的web.config中,您是否定义了角色管理器? 例如:

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"/>

请参阅: http://msdn.microsoft.com/en-us/library/ff647401.aspx “其他考虑因素”