2017-08-07 1 views
1

質問があります。実装されているクラシックIDモデルとOpenIddict for Authorizationを使用してAsp Net Core 1.1.0でWebアプリケーションを使用しています。Asp Core IDを使用して新しいユーザー登録方法を追加する

古典的な実装では、電子メール/パスワードを使用してユーザーを登録する際に、ログイン名としてCodeNumber(数値シーケンス長15文字)を登録する可能性と、ピンコード(4文字の数字の組み合わせ)パスワードとして。

CodeNumberとPinCodeは、User Indentityテーブルとは別に格納されます。

ユーザーが

が、これはVisual Studio ASP .NETでのコアで達成することができるしてください方法を教えてくださいシステムにログオンするために2つのメソッドを使用できるように? ありがとうございます。

答えて

1

単純に、アイデンティティの仕組みは、ユーザーがユーザー名を照会してからパスワードを比較することで自動的にサインインすることです。別のやりかたを処理するには、そのプロセスをより手動で制御する必要があります。それらが存在する場合は、手動でその後、ちょうど署名ユーザーを

var user = db.Users.Where(m => m.CodeNumber == model.CodeNumber && m.PinCode == model.PinCode); 
if (user == null) 
{ 
    ModelState.AddModelError("", "Incorrect code number and/or pin code"); 
} 

:代わりにUserManager.FindByNameAsyncのようなものを使用して、あなたは単にあなたのコンテキストにフォールバックなど何かをしたい

await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); 
関連する問題