在 DeleteUser() 且 deleteAllRelatedData=false 后,用户仍然存在于 Roles.GetUsersInRole 中

发布于 2024-08-17 11:50:08 字数 343 浏览 4 评论 0原文

我有一个名为“admintest”的帐户,其角色为“admin”。
我调用以下行来删除用户,并使用deleteAllRelatedData = false,因为我只想将用户标记为已删除(稍后我可能需要检索用户的历史记录)

bool result = Membership.DeleteUser("admintest", false);

之后,我调用以下行来获取用户:

string[] users = Roles.GetUsersInRole("admin");

但我仍然在用户数组中获取“admintest”。 我应该怎么办?

I have an account called "admintest" which is "admin" as its role.
I called the following line to delete the user with deleteAllRelatedData=false because I just want to mark the user as deleted (I may need to retrieve users' history later)

bool result = Membership.DeleteUser("admintest", false);

After that, I call the following line to get the user:

string[] users = Roles.GetUsersInRole("admin");

But I still get "admintest" in the users array.
What should I do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柒夜笙歌凉 2024-08-24 11:50:08

如果设置deleteRelatedData = true,则会从用户和会员表中删除使用信息,如果设置为false,则只会从会员表中删除信息。换句话说,该方法适用于身份验证,但不适用于授权。您应该调用 RoleProvider.RemoveUsersFromRoles() 方法。

if you set deleteRelatedData = true, it will erase the use information from user and membership table, if set to false it will only delete information from membership table. In other words this method work for authentication but not for authorization. you should be calling RoleProvider.RemoveUsersFromRoles() method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文