ASP.NET 2.0のユーザー管理について質問です。


Webサイト管理ツールから作成したユーザーのパスワードについて、

(1).パスワードを忘れた場合に教えて貰うには、
 「パスワード通知画面」を作成する以外に手段は無いのでしょうか?

(2).パスワードを変更するには、
 「パスワード変更画面」を作成する以外に手段は無いのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/07/06 22:00:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:kaorun No.1

回答回数44ベストアンサー獲得回数10

ポイント60pt

Membership.GetUser()メソッドを使用してMembershipUserオブジェクトを取得する事で、コードからパスワードを管理する事が出来ます。

管理用メソッドは、

  • MembershipUser.GetPassword()

http://msdn2.microsoft.com/ja-jp/library/system.web.security.mem...

現在のユーザーのパスワードを取得します。

このメソッドを使用するには、web.config等でEnablePasswordRetrievalプロパティがtrueに設定されている必要があります。

  • MembershipUser.ChangePassword()

http://msdn2.microsoft.com/ja-jp/library/system.web.security.mem...

現在ユーザーのパスワードを変更します。

このメソッドにはユーザーの旧パスワードが必要です。

  • MembershipUser.ResetPassword()

http://msdn2.microsoft.com/ja-JP/library/system.web.security.mem...

現在のユーザーのパスワードをリセットします。

ユーザーのパスワードを任意のランダムな文字列に変更し新パスワードを返します。

EnablePasswordResetがtrueに設定されている必要があり、RequiresQuestionAndAnswerプロパティも関連します。

いずれにしても、web.config内でのメンバーシッププロバイダのプロパティが大きく関連するため、サイト全体でのユーザー管理体系に関する設計上の考慮が必要になると思います。

ASP.NET2.0のメンバーシップは強力で拡張性もありますが、現在の仕様では、お仕着せの設定を踏み外そうとすると、親切な(特に日本語化された)情報はあまりありませんし、細かい仕様の中を彷徨う必要が出てきます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません