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

Posted

技术标签:

【中文标题】SQL 数据库驱动的 C# 和 ASP.Net 基于角色的身份验证控制【英文标题】:SQL Database Powered C# & ASP.Net Role based authentication control 【发布时间】:2011-06-22 20:23:17 【问题描述】:

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

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

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

有没有办法:

    根据我的具体要求更改此设置的方法? 我还没有找到可以提供一些关于如何实现它的指针的资源?

【问题讨论】:

【参考方案1】:

您总是可以有一个代理登录成功页面,在成功登录后获取角色并重定向到后续页面。

default.aspx 登录成功的代码。

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

【讨论】:

【参考方案2】:

您可以使用自 2.0 版以来 ASP.NET 中存在的内置 SqlMembershipProvider 和 SqlRoleProvider 轻松实现目标。

真正的问题是确定用户在拥有多个用户时应该扮演什么“角色”。

【讨论】:

以上是关于SQL 数据库驱动的 C# 和 ASP.Net 基于角色的身份验证控制的主要内容,如果未能解决你的问题,请参考以下文章

C# asp.net 删除三天前的所有数据 SQL语句怎么写

使用 C# 和 ASP.NET 将数据从 Excel 文件导出到 SQL Server 表的最佳方法? [复制]

反 Sql 注入库 C# Asp.NET

响应式数据表 SQL C# ASP.net

C# ASP.NET SQL 数据源

如何使用 C#、ASP.NET、SQL Server 端处理实现 jQuery DataTables 插件?