2016-10-06 8 views
0

後にアクティブではありませんなぜ私は別の役割を追加[ "Candidate","Junior","Senior"] それは登録後、直接仕事が、役割アクティブではないのですが、私は再び&ログインログアウトた場合、それはどのように私はそれを解決することができ役割は、登録フォームに直接登録

[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public async Task<ActionResult> Register(RegisterViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     var user = new ApplicationUser { 
      UserName = model.Email, 
      Email = model.Email    
     }; 

     var result = await UserManager.CreateAsync(user, model.Password); 
     if (result.Succeeded) 
     { 
      await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false); 
      UserManager.AddToRole(user.Id, model.rol); 

      return RedirectToAction("Contact", "Home");     
     } 

     AddErrors(result); 
    } 
} 

作業?

+0

'model.rol'とは何ですか? –

+0

は、ビューのドロップダウンリストで["候補"または "ジュニア"または "シニア"]という名前のロールを取得する属性(文字列)です –

+0

"プロパティ"を意味すると思いますか?デフォルトプロジェクトテンプレートを使用していると仮定すると、 'SignInManager.SignInAsync'の前に' UserManager.AddToRole'を移動する必要があります。 –

答えて

0

あなたのロールは、ログイン時にのみ設定されるユーザーのプリンシパルにクレームとして追加される可能性があります。