我正在使用ASP.NET 4(Visual Web Developer 2010 Express)构建网站。 由于我有我的ms数据库,我想在我的网站上显示数据。 有一些个人信息,所以我想为用户设置一个登录系统。
我按照教程编写了一个简单的AccessMembershipProvider。 http://www.devx.com/asp/Article/29256/0/page/3
现在我想添加角色(角色信息存储在数据库中),并确定是允许还是拒绝用户访问特定网页。
我该如何实现? (我使用VB但我也理解C#代码)
谢谢大家。
编辑: 我有一个更容易的想法。 当用户尝试访问特定页面时,服务器从数据库中检索其角色信息。 当页面加载时,服务器确定是否允许她进入。 如果允许,页面将继续显示。否则,将显示错误消息并将用户重定向到另一页。 这种方法有用吗?我想知道这将导致严重的错误或安全风险...... 请帮忙
答案 0 :(得分:1)
在您的会员区域(或您的aspx)后面的主代码中,您可以检查当前用户
if(User.IsInRole("RoleYouWouldCheckFor"))
{
// user seems to be member of appropriate group, let him in
}
或者,如果在MVC环境中工作,您可以用以下方法装饰您的控制器:
[Authorize(Roles = "RoleYouWouldCheckFor")]
要向角色添加/删除用户,请尝试以下操作:
Roles.AddUserToRole(username, roleName);
Roles.RemoveUserFromRole(username, roleName);