6

webpages_Membershipテーブル(SimpleMembershipを使用しています)にアクセスして、アカウントのConfirmationTokenを取得しようとしています。

モデル/コントローラー/DALからこのテーブルにアクセスするにはどうすればよいですか?

私が考えることができる唯一のことは、この値を取得するためにコードから純粋なSQLを実行することですが、それは正しいことではなく、エレガントでもないようです。

4

1 に答える 1

2

私が理解していることから、WebSecurityヘルパーを使用して値を取得する直接的な方法はありません。

ユーザーとアカウントを作成すると、メソッドは確認トークンを返します。

string confirmationToken = WebSecurity.CreateUserAndAccount("tester", "test123", requireConfirmationToken: true);

次に、このトークンを (たとえば、QueryString パラメーターとしてリンク内で) ユーザーの電子メール アドレスに送信します。ユーザーがリンクをクリックすると、アプリはこのトークンを取得/読み取る必要があり、次に呼び出す必要があります。

WebSecurity.ConfirmAccount(userName, confirmationToken);

あなたが言及したように、もちろん、独自の SQL を記述してデータベースに直接ヒットすることもwebpages_Membership、EntityFramewok EDMX モデルに追加して、テーブルを直接クエリすることもできます。

var confirmationToken = Database.Memberships.Single(m => m.UserId == userId).ConfirmationToken;

詳細:

ASP.NET Web ページのセキュリティの確認機能を使用する

アカウント確認トークンを取得しますか?

于 2012-10-04T22:11:25.370 に答える