正常に機能するMVCフォームログを使用していますが、コントローラー内から同じユーザー名とパスワードの組み合わせを必要とするデータサービスを呼び出す必要があります。
HttpContext.User.Identity.Nameを使用して名前を取得できますが、パスワードはどうですか?ユーザーがすでにログインした後でこれを取得する方法はありますか?
正常に機能するMVCフォームログを使用していますが、コントローラー内から同じユーザー名とパスワードの組み合わせを必要とするデータサービスを呼び出す必要があります。
HttpContext.User.Identity.Nameを使用して名前を取得できますが、パスワードはどうですか?ユーザーがすでにログインした後でこれを取得する方法はありますか?
まず第一に、アプリケーションにパスワードを保存するべきではありません。メンバーシップ プロバイダーは、パスワードをクリア テキストでどこにも保存しません。データベースにあるのはソルトハッシュだけです。ログイン後にユーザーのパスワードを取得する方法はありません。
Loginアクションからパスワードを取得するか、カスタム を作成する必要がありますMembershipProvider
。
ただし、平文のパスワードを保持する必要がないように、可能であれば設計を変更することを検討してください。ユーザーが認証されると、それが誰であるかがわかり、アプリケーションの下位レイヤーは、認証されたプリンシパルを渡すことで上位レイヤーを信頼できます。そうでなければ、なぜ彼らは正しいユーザー名とパスワードのペアを渡すことを信頼するのでしょうか?