C# ASP.NET 4.0为自定义成员资格提供程序设置角色

C# ASP.NET 4.0为自定义成员资格提供程序设置角色,c#,asp.net,vb.net,C#,Asp.net,Vb.net,我正在用ASP.NET4(VisualWebDeveloper2010Express)构建一个webiste。 因为我有我的ms数据库,我想在我的网站上显示数据。 有一些个人信息,所以我想为用户设置一个登录系统 我按照教程构建了一个简单的AccessMembershipProvider。 现在我想添加角色(角色信息存储在数据库中),并确定是否允许或拒绝用户访问特定网页 我如何实现这一点?(我正在使用VB,但我也理解C#代码) 谢谢大家 编辑: 我有一个更容易的想法。 当用户试图访问特定页面时,

我正在用ASP.NET4(VisualWebDeveloper2010Express)构建一个webiste。 因为我有我的ms数据库,我想在我的网站上显示数据。 有一些个人信息,所以我想为用户设置一个登录系统

我按照教程构建了一个简单的AccessMembershipProvider。

现在我想添加角色(角色信息存储在数据库中),并确定是否允许或拒绝用户访问特定网页

我如何实现这一点?(我正在使用VB,但我也理解C#代码)

谢谢大家

编辑: 我有一个更容易的想法。 当用户试图访问特定页面时,服务器将从数据库检索其角色信息。 当页面加载时,服务器决定是否允许她进入。 如果允许,页面将继续显示。否则,将显示一条错误消息,并将用户重定向到另一个页面。 这种方法有效吗?我想知道这将导致严重的错误或安全风险。。。
请在您的会员区(或您的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); 

那么,当用户成功登录并注销时,我会这样做吗?将“Roles.AddUserToRole(username,roleName)”添加到“Public Overrides Function ValidateUser()”中?和使用角色。当用户注销时是否从角色移除UserFromRole(用户名,roleName)?并在页面加载时使用if语句?否,添加和删除您通常在后端系统中使用的操作,您不会添加和删除om登录/退出,您可以使用User.IsInRole检查角色成员身份(…在你的验证用户方法中,我真的不明白我应该把代码放在哪里…你介意详细地告诉我吗?你能把你的一些代码发布到你想检查你的用户属于哪些角色的地方吗?而且,你不会让用户执行代码来添加和删除他们自己的角色(通常),除非您有来自某个第三方的数据,告诉您哪些角色应该处于活动状态…加载项和从角色中删除用户通常是在管理员上下文中执行的操作,只有您或您的网站管理员/管理员有权访问。