1

カスタムメンバーシッププロバイダーを作成する必要がありますか、それとも別の方法がありますか?

ASP.NETフォーム認証とMicrosoftSQLメンバーシッププロバイダーを使用するプロジェクトがあります。ウェブサイトは完了です。私はどこでもこのプロバイダーを使用しています。(登録、ログイン、パスワードを忘れた場合など)

これまで、私のWebサイトユーザーは複雑なパスワードを必要としませんでした。ユーザーのパスワードは実際には単なるピンでした。ユーザーは、過去にパスワードとして何でも選択できました。個人データや個人データはないため、このWebサイトにほとんど制限はありませんでした。

しかし、私は新しい要件を受け取りました。

新しいパスワード要件は次のとおりです。

  • パスワードは8文字以上である必要があります。
  • パスワードは、次の4つの文字タイプのうち3つを使用して作成する必要があります。
    • 大文字
    • 小文字
    • 数値
    • 句読点
  • パスワードに自分の名前やユーザーIDを使用しないでください。
  • 後で古いパスワードを再度使用しないでください。
  • パスワードは少なくとも60日ごとに変更する必要があります。
  • パスワードには、ユーザーIDまたはフルネームの一部を含めることはできません。
  • パスワード履歴の保持により、最後の24個のパスワードの使用が禁止されます。
  • パスワードは、ユーザーが6日間に1回だけ変更できます。


登録、ログイン、パスワードを忘れたなど、次のすべてのページを変更する必要があることに気付きました。幸い、私はずっと前にデフォルトのコントロールの使用をやめました。

私はあなたの考えに感謝します。

私の最初の考えは、カスタムメンバーシッププロバイダーを作成する必要があるということでした。これのほとんどを行うための標準プロバイダーを作成する方法がわかりません。やるべきコードを書くことができました。

  • aspnet_membershipテーブルを変更しますか?
  • 独自のテーブルaspnet_somethingを追加する必要がありますか?
  • この問題にユーザープロファイルテーブルを使用できますか?
  • 独自のMembershipUserクラスが必要ですか?


ありがとう。

4

1 に答える 1

0

ValidatingPasswordイベントをリッスンする必要があります。

ASP.NETメンバーシップのChangePasswordコントロールを参照してください-これを行う方法のサンプルコードについては、以前のパスワードを確認する必要があります。

于 2010-09-08T19:34:46.723 に答える