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

3
我需要一个ASP.net和C#的身份验证/登录控件,它引用一个包含两个表(用户和角色)的SQL服务器数据库。当认证成功时,我希望根据其在数据库中存储的角色将用户重定向到网站上的特定页面。
例如,角色为“系统管理员”的用户将被重定向到受保护的系统管理员文件夹内的主页,而角色为“系统用户”的用户将被重定向到受保护的系统用户文件夹内的相应主页。
我在MSDN库中找到了一些东西,但这会将所有成功的登录重定向到“default.aspx”。
有没有办法:
1. 修改此内容以符合我的具体要求? 2. 我还没有发现的资源,可以提供一些实施此功能的指针?
2个回答

1

你可以轻松地使用自带的 SqlMembershipProvider 和 SqlRoleProvider,这两个提供程序从 ASP.NET 2.0 版本开始就已经存在了。

真正的问题在于确定当用户有多个角色时应该处于哪个“角色”。


0
您可以始终拥有一个代理登录成功页面,该页面在成功登录后获取角色并重定向到后续页面。
默认.aspx登录的成功代码。
if(Context.User.IsInRole("System Admin")){
    //redirect to page.
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接