来自另一个应用程序的ASP.NET Membership.DeleteUser

时间:2013-01-21 08:31:43

标签: c# asp.net-mvc asp.net-membership

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

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

关于DeleteUsers的Microsoft文档说

  

"从数据库中删除的用户只能从配置中删除   的applicationName"

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

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

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

1 个答案:

答案 0 :(得分:0)

我假设你正在使用Membership的默认架构和实现。提供程序(MembershipRole等)都包含ApplicationName属性,有意使用该属性,允许您将一个数据库用于多个应用程序,但仍然可以通过应用程序将用户分开。正如文档在http://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname%28v=vs.100%29.aspx解释的那样,如果您要删除当前应用之外的用户,则需要以编程方式更改ApplicationName