mvc 3 成员资格 Role.AddUserToRole
我已经选择了角色的数组。现在我想将该数组角色添加到指定的用户。我有一个像这样的控制器:
string[] array = collection["RolesSelected"].Split(',');
try
{
Roles.AddUserToRoles(username, array);
}
但是当我提交时,什么也没有发生。当我调试时
Roles.AddUserToRoles(username, array);
它显示正确。我的意思是用户名是正确的,并且数组是正确的(检查的角色列表)。
如果我尝试删除角色,
Roles.RemoveUserFromRoles(username,array)
则用户名的角色将被删除。
为什么我可以删除角色但无法添加角色?
谢谢
ps:对不起我的英语:)
编辑
我可以使用删除指定用户的角色
Roles.RemoveUserFromRoles(username,array)
,但我无法向指定用户添加角色。 当我删除指定用户的所有角色时,我可以为用户添加角色。 我应该先删除所有角色,然后再次添加它们(我想我不能这样做,因为我的项目有很多用户和角色)
i have array for role selected. and now i want to add that array role to specified user. i have a controller like this :
string[] array = collection["RolesSelected"].Split(',');
try
{
Roles.AddUserToRoles(username, array);
}
but when i submit, nothing happens. when i debug in
Roles.AddUserToRoles(username, array);
it shows correct. i mean username is correct, and array is correct(list of role that checked).
if i try to remove role,
Roles.RemoveUserFromRoles(username,array)
the role for username is removed.
why did i can remove role but i cant add role ?
thanks
ps:sorry for my english :)
EDIT
i can remove role for specified user using
Roles.RemoveUserFromRoles(username,array)
but i cant add role to specified user.
when i remove all roles from specified user, then i can add role for user.
should i remove all roles first, and then adding them again (i think i cant do that because i have many users and roles for my project)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑您在尝试将用户添加到他/她已存在的角色时遇到错误(抛出
System.Configuration.Provider.ProviderException
)。试试这个:也就是说,如果您希望用户仅拥有数组中指定的角色,您需要先删除所有角色,然后执行
AddUserToRole
打电话。I suspect that you are encountering an error (
System.Configuration.Provider.ProviderException
is being thrown) by trying to add a user to a role in which s/he already exists. Try this instead:That said, if you want the user to only have the roles specified in the array, you'd want to remove all the roles first and then do the
AddUserToRole
call.