createUser()をオーバーライドする方法パスワードチェックが失敗したときにカスタムエラーメッセージを表示するメンバーシップメソッド??
私は、新しいユーザーを作成するためのウィザードのようなインターフェイスを提供するWebサイト管理ツールを使用しました。
createUser()をオーバーライドする方法カスタムエラーメッセージを表示するASP .NETメンバーシップメソッド?
<membership defaultProvider="MyMembershipProvider">
<providers>
<clear />
<add name="MyMembershipProvider" type="BlueDDApp.Controllers.MyMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="0" passwordStrengthRegularExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!%,.;:])|(?=.*[a-z])(?=.*[0-9])(?=.*[!%,.;:])|(?=.*[A-Z])(?=.*[0-9])(?=.*[!%,.;:])$" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
カスタムメンバーシップクラス:
Web.Configファイルを(このツールを起動するには、Microsoft Visual StudioでWebサイト]メニューの[ASP.NETの構成]をクリックします): :
public class MyMembershipProvider : SqlMembershipProvider
{
public MyMembershipProvider()
{
//Membership.ValidatingPassword += new MembershipValidatePasswordEventHandler(OnValidatePassword);
ValidatingPassword += ValidatePassword;
}
/* public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
ValidatingPassword += ValidatePassword;
return base.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
}*/
void ValidatePassword(object sender, ValidatePasswordEventArgs e)
{
Regex check = new Regex("^(?i)(?!.*" + e.UserName + ").*$");
if (!check.IsMatch(e.Password))
{
e.FailureInformation = new HttpException("blah blah");
e.Cancel = true;
}
}
}
_Webサイト管理ツール_が関連しているなぜあなたはカスタムのユーザー管理を提供する場合、カスタムエラーメッセージのみが理にかなっているので、私は理解していません。 –
うーん、それを生産的に使うことは決して考えなかった。しかし、ここを見てくださいhttp://www.4guysfromrolla.com/articles/052307-1.aspxとここにhttp://www.4guysfromrolla.com/articles/053007-1.aspx。たぶん、カスタムWebサイト管理ツールを公開することができます。 –
Okティム私はそれがある意味があると思う。 – RollerCosta