1

我有两个应用程序,一个是主站点,另一个是管理站点。我想做的事情是从管理中删除属于主站点的用户,使用Membership.DeleteUser.

问题是它返回 false,尽管Membership.GetUser返回的是正确的用户。

微软关于 DeleteUsers 的文档说

“从数据库中删除的用户只从配置的 applicationName 中删除。”

所以我的问题没有什么奇怪的。我尝试删除通过我的管理应用程序创建的用户并且它有效。但这不是我想要的。有任何想法吗?

 var muser = Membership.GetUser( userId, false );

 if( !Membership.DeleteUser( muser.UserName, true ) )
 {
    throw new Exception( "An error occurred. User not deleted." );
 }
4

1 回答 1

0

我假设您使用的是默认架构和Membership. 提供者(Membership,Role等)都包含一个ApplicationName属性,有目的地使用该属性,让您将一个数据库用于多个应用程序,但仍让您的用户由 app 分隔。正如文档在http://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname%28v=vs.100%29.aspxApplicationName中解释的那样,如果需要,您需要以编程方式更改删除当前应用程序之外的用户。

于 2013-01-21T08:44:40.407 回答