1

2 つのアプリケーションがあります。1 つはメイン サイトで、もう 1 つは管理サイトです。私がやりたいことは、メイン サイトに属するユーザーを管理者から削除することですMembership.DeleteUser

Membership.GetUser問題は、正しいユーザーを返しているにもかかわらず、false を返すことです。

DeleteUsersに関するMicrosoftのドキュメントは言う

「データベースから削除されたユーザーは、構成された 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。プロバイダー ( MembershipRoleなど) にはすべて、ApplicationName1 つのデータベースを複数のアプリケーションに使用できるようにするために意図的に使用されるプロパティが含まれていますが、ユーザーはアプリごとに分離されています。ドキュメントがhttp://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname%28v=vs.100%29.aspxで説明しているように、必要に応じてプログラムで変更する必要がありApplicationNameます現在のアプリの外でユーザーを削除します。

于 2013-01-21T08:44:40.407 に答える