ASP.NETにおいてLoginコントロールを使用しており、管理者用WEBサイトからユーザーを追加しています。(プロバイダは初期値から変更していません)

 その際のユーザー作成時、記号を含まない7桁未満の英数字文字列をパスワードとして設定する方法はありませんか?
 MembershipUser.ChangePasswordで7桁未満のパスワードを設定してみても、7桁以上のパスワードを求めるArgumentExceptionが発生し、設定できませんでした。
 何か他の方法がありましたらご教示くさださい。

回答の条件
  • 1人3回まで
  • 登録:2006/10/20 11:47:13
  • 終了:2006/10/20 14:39:32

ベストアンサー

id:kaorun No.1

kaorun回答回数44ベストアンサー獲得回数102006/10/20 13:45:27

ポイント150pt

web.configの

<system.web>

 <membership>

  <providers>

セクションに、各種ユーザー設定規則を定義してください。
最小パスワード長であれば、minRequiredPasswordLengthです。

CreateUserWizard コントロールのパスワード規則を変更する方法
http://www.microsoft.com/japan/msdn/asp.net/tips/PasswordLength/

MSDN - .NET Framework クラス ライブラリ Membership プロパティ
http://msdn2.microsoft.com/ja-jp/library/system.web.security.mem...

ただし、<connectionStrings>で定義されたMembershipプロバイダのデータベース設定ときちんと整合していないといけないので、そのあたりは注意してください。実行環境や設定により若干設定内容が変わってくると思うので、設定しても動作が変わらないようならそのあたりを疑ってみてください。

また、パスワード設定を7桁未満の英数字文字列固定とするならば、パスワード変更用のフォームを作成し、RegularExpressionValidatorと正規表現を使用して、入力を英数のみに限定し、入力結果からChangePassword()メソッドを呼び出すと良いでしょう。

How To: ASP.NET への入力を制約するために正規表現を使用する方法
http://www.microsoft.com/japan/msdn/enterprise/pag/securityguida...

id:lains_you

 7桁未満のパスワードでも設定できるようになりました。ありがとうございました。

2006/10/20 14:38:47

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません