2012-01-09 11 views
0

パスワードがユーザー名と等しくないように、ASP.Netメンバーシップで新しいユーザーを作成する前に、入力したパスワードと入力したユーザー名を比較する方法を教えてください。
私がしようとしています何

passwordStrengthRegularExpression= "^(?:(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!%,.;:])|(?=.*[a-z])(?=.*[0-9])(?=.*[!%,.;:])|(?=.*[A-Z])(?=.*[0-9])(?=.*[!%,.;:]))(?i)(?!.*" + Username + ").+$";
(web.configファイルプロバイダセクションで)設定され
を更新しました。しかし、このようなユーザー名を比較する場合、私は私がよ作品会員やないかと思います。

第2に、PasswordのプロパティをRegisterModelのクラスをいくつかのカスタム検証でデコレートすることです。 どちらの方法でも私は混乱しており、あなたの提案が必要です。asp.netメンバーシップのパスワードとユーザー名を比較するには?

+0

あなたは直接の答えをしたい場合は、あなたのアカウントが作成されているメカニズムを示すためにいくつかのコードを提供する必要があります。 –

答えて

1

そのない直接的な答えが、あなたはのMembershipProvider設定でパスワードに対して最低限の複雑さの要件を設定している場合は、この少しチャンスがあるはずです。

これは、(例えば)以下のweb.configブロックで行われます。

<membership> 
    <providers> 
     <clear/> 
     <add connectionStringName="xxx" requiresQuestionAndAnswer="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="5" passwordStrengthRegularExpression="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$" applicationName="/" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
    </providers>  
</membership> 
+0

しかし、これを行うと私の問題は解決しません.... – RollerCosta

+0

私の正規表現はここで "^(?:(?=。* [az])(?=。* [AZ])(? (?=。* [az])(?=。* [!%、。;:])|(?=。* [az]) (?=。* [0-9])(?=。* [0-9])(?=。* [0-9]) =。* [!%、。;:]))(?i)(?!。* "+ユーザー名+")。+ $ ";しかし、このようなUserNameをMembershipで比較するかどうかはわかりません – RollerCosta

関連する問題