SQL数据库支持的C#&;基于ASP.Net角色的身份验证控制

SQL数据库支持的C#&;基于ASP.Net角色的身份验证控制,c#,asp.net,authentication,ssms,user-roles,C#,Asp.net,Authentication,Ssms,User Roles,我需要一个ASP.net和C#身份验证/登录控件,该控件引用包含两个表的SQL server数据库:用户和角色。当身份验证成功时,我希望用户被重定向到由数据库中存储的用户角色确定的网站上的特定页面 例如,角色为“系统管理员”的用户将被定向到站点上系统管理员文件夹中的受保护主页,其中角色为“系统用户”的用户将被重定向到受保护系统用户文件夹中各自的主页 我设法在MSDN库中找到了一些东西,但这会将所有成功的登录重定向到“default.aspx” 有没有办法: 有什么办法可以根据我的具体要求来改变这

我需要一个ASP.net和C#身份验证/登录控件,该控件引用包含两个表的SQL server数据库:用户和角色。当身份验证成功时,我希望用户被重定向到由数据库中存储的用户角色确定的网站上的特定页面

例如,角色为“系统管理员”的用户将被定向到站点上系统管理员文件夹中的受保护主页,其中角色为“系统用户”的用户将被重定向到受保护系统用户文件夹中各自的主页

我设法在MSDN库中找到了一些东西,但这会将所有成功的登录重定向到“default.aspx”

有没有办法:

  • 有什么办法可以根据我的具体要求来改变这一点
  • 我还没有找到一个资源,可以为如何实现这一点提供一些指导

  • 从2.0版开始,ASP.NET中提供了内置的SqlMembershipProvider和SqlRoleProvider,您可以很容易地实现这一目标


    真正的问题是,当用户有多个用户时,确定他们应该扮演什么角色。

    您可以始终拥有一个代理登录成功页面,该页面在成功登录后获取角色并重定向到后续页面

    成功的default.aspx登录背后的代码

    if(Context.User.IsInRole("System Admin")){
        //redirect to page.
    }