私は自分のWebアプリケーションのために自分のMembershipProviderを書くことを考えていました。人々は通常は登録しませんが、ログイン情報が提供されます。会員資格は正しいものではありませんか?Asp.Net MVC 3 MembershipProviderとClientCertificate
私はまだいくつかの役割を持っていますし、よく似ていますし、人々が通常のログインではなくClientCertificateを使って認証できるようにすることはできません。私はまだメンバーシップの検証をしないようにしました(証明書とデータベースには識別可能なフィールドがあります)、役割などを使用します。
MembershipProviderは、おそらく元のログイン認証でのみ使用され、承認ではありませんか?
ユーザーが検証されたときに何か特別なことは起こりそうにないので、承認された人は自動化された人を知っていますか?
したがって、membership.validateメソッドが呼び出されたときにユーザーに関する情報は保存されません。 AutorizeAttributeは、ユーザーが承認されているかどうかをどのように認識しますか? –
AuthorizeAttributeは 'User.IsAuthenticated'を見るだけです。メンバーシップはそれを設定します。公開鍵の暗号化/署名を使用します。メンバーシップは、ユーザーのCookieを復号化し、その署名をチェックします。 –
次に、ClientCertificateを使用して認証する人に問題が発生します。検証にはパスワードは必要ありませんが、メンバーシップテーブルに登録する必要があります。私はこれらの人々のメンバシッププロバイダに新しいメソッドを定義することを考えていましたが、ValidateUserがIsAuthenticatedプロパティを設定する場所はわかりません。 –