SimpleMembership で ASP.NET MVC 4 を使用しています。特定のユーザーを呼び出すWebSecurity.UserExists()
と、true が返されます。ただし、指定されたユーザーはプロファイル テーブルには存在しますが、メンバーシップ テーブルには存在しません。
この関数のオンライン ドキュメントには、2 つのテーブルに関する矛盾する記述があります。一方で、それは言う
指定されたユーザーがメンバーシップ データベースに存在するかどうかを示す値を返します。
その後、それは言う
ユーザー プロファイル テーブルにユーザー名が存在する場合は true 。それ以外の場合は false。
私は自分のユーザー プロファイル テーブルを維持しており、SimpleMembership に独自のメンバーシップ テーブル (webpages_Membership) を作成して維持させています。問題のユーザーはプロファイル テーブルに存在しますが、webpages_Membership には存在しません。
ユーザーに自己登録してもらいたいのですが、プロファイル テーブルにレコードがある人だけが登録できるようにします。したがって、このユーザーはプロファイル テーブルに存在しますが、まだ登録されていません。ユーザーが登録しようとしたときに、プロファイル テーブルにレコードがあることを確認できるようにしたいのですが、この関数は期待どおりの動作をしていません。さらに困ったことに、プロファイル テーブルとメンバーシップ テーブルのどちらをチェックするかについて、ドキュメントが不明確です。