私はWebセキュリティに慣れていないので、自分で実装したくありません。ASP.NETMVCインターネットアプリケーションのVS2012テンプレートを介してSimpleMembershipを使用する予定です。問題は、WebAPIを介してデータを渡す必要があることです。
Web APIに基本認証を使用する予定なので、httpヘッダーでusername/passを渡す必要があります。Thinktecure.IdentityModelを使用してメッセージを傍受できます。ASP.NETメンバーシップを使用する例を次に示します。
authConfig.AddBasicAuthentication((userName, password) =>
Membership.ValidateUser(userName, password));
Membership.ValidateUserを独自のbool関数に置き換えることができます。ユーザー名/パスワードを使用してカスタムデータベースを正常に照会しましたが、すべて正常に機能しました。ただし、文字列(またはエンコードされた)パスワードを保存したくないため、テンプレートのユーザーデータベースを使用しています。
SimpleMembershipのデータベースを使用して資格情報を手動で検証する方法がわかりません。UserProfileを取得できますが、プロファイルのパスワードを確認する方法がわかりません。
UserProfile user = context.UserProfiles.Find(1);
==OUTPUT==
user
UserId: 1
UserName: "bob"
入力したパスワードが既存のユーザーのパスワードと一致するかどうかを確認する方法を知っていますか?
ご協力いただきありがとうございます!