2017-03-19 18 views
2

認証と認証のためにasp.net IDを使用しています。私はヘブライ文字でユーザー名を作成しようとしましたが、うまくいきませんでした。asp.netでユーザーを作成するC#のIDがヘブライユーザー名と一致しない

旧メンバーシップでは、ユーザー名にヘブライ文字を使用できました。アイデンティティで非ラテン文字を使用することは可能ですか?

独自の検証を行うための新しいカスタム・ユーザー・バリデータを作成します(あなたが検証のためだけでなく、正規表現を使用することができます):

public class CustomUserValidator<TUser> : IIdentityValidator<TUser> 
    where TUser : class, Microsoft.AspNet.Identity.IUser 
{ 
    public CustomUserValidator(UserManager<TUser> manager) 
    { 
     _manager = manager; 
    } 

    public async Task<IdentityResult> ValidateAsync(TUser item) 
    { 
     // Your custom validation here 
    } 
} 

答えて

2

は、私はあなたがこのような何かをしようとすることができると思いますその後、あなたはあなたのアプリケーションのユーザー・マネージャを作成するときに、この新しいバリデータクラスのインスタンスにデフォルトのユーザー・バリデータを設定することができます。

manager.UserValidator = new CustomUserValidator<ApplicationUser>(manager) 
{ 
    AllowOnlyAlphanumericUserNames = false, 
    RequireUniqueEmail = true 
}; 

[注:] デフォルトのバリデータは次のようである:

manager.UserValidator = new UserValidator<ApplicationUser>(manager) 
    { 
     AllowOnlyAlphanumericUserNames = false, 
    }; 
+0

それはカスタムユーザーバリデータを作成せずにfalseにAllowOnlyAlphanumericUserNamesを設定することは可能ですか? –

+1

はい一言。デフォルトのユーザバリデータでも同様に行うことができます。答えを修正しました。 – Jinish

+0

ありがとう!あなたは正しい方向に私を持っています。私は自分自身のUserManagerを使用しており、このようなコンストラクタにコードを記述しています。this.UserValidator = new UserValidator (this){ AllowOnlyAlphanumericUserNames = false、 } ;.これもここで説明します:http://stackoverflow.com/questions/19459591/allowonlyalphanumericusernames-how-to-set-it-rc-to-rtm-breaking-change-asp再度ありがとう! –

関連する問題