【发布时间】:2012-11-17 15:54:55
【问题描述】:
我已经在网站上工作了一段时间。 我正在使用正常工作的成员资格、角色和个人资料提供者。
我有一个标准的 createuserwizard 控件,用户可以在其中注册。当用户注册时,我想将他添加到某个角色,如下所示:
Roles.AddUserToRole(Profile.UserName, "Member");
我通过 userCreated 事件触发器来做到这一点。
还有一个管理页面,管理员应该能够更改用户的角色,我是这样做的:
DropdownList ddl = ((DropDownList)sender);
String usr = ddl.enter code here
if (Roles.IsUserInRole(usr, "Member")) {
Roles.RemoveUserFromRole(usr, "Member");
}
if (Roles.IsUserInRole(usr, "Visitor")) {
...
switch (ddl.selectedIndex)
case 0:
Roles.AddUserToRole(usr, "Admin");
case 1:
...
这也不起作用。如果我去数据库本身,用户没有被添加到 aspnet_UserInRoles。
额外细节: 当我创建一个用户时,他可以看到管理页面,这不是有意的。安全修剪工作正常,当我手动将用户添加到 aspnet_UsersInRoles 表时,我无法再按预期访问成员页面。 新创建的用户没有添加到任何角色,尽管他可以看到他不应该看到的所有页面。吓死我了!
【问题讨论】:
-
您是否在 web.config 中启用了角色?
-
我忘了提...用户自动登录(暂时)。
-
是的,角色已启用...你也想看看我的 web.config 吗?
标签: c# asp.net .net asp.net-membership asp.net-roles