2013-12-21 281 views
1

我正在使用帶有EF codefirst的Asp.net 4.5.1 webForm應用程序。身份驗證我正在使用Microsoft.AspNet.Identity。在檢查用戶是否正確之後,我想在登錄頁面中檢查用戶的角色。如果用戶具有管理員角色,則將用戶發送到管理文件夾(頁面),或者用戶角色中的用戶將用戶發送到用戶文件夾(頁面)。我如何檢查用戶是否在Admin角色?AspNet.Identity角色管理

這是我的登錄代碼:

protected void btnLogin_Click(object sender, EventArgs e) 
    { 
     if (IsValid) 
     { 
      // Validate the user password 
      var manager = new UserManager(); 
      ApplicationUser user = manager.Find(inputEmail.Text, inputPassword.Text); 
      if (user != null) 
      { 
       IdentityHelper.SignIn(manager, user, false); 

       if (//user is in admin role) 
       { 
        Response.Redirect("UserPage"); 
       } 
       else 
       { 
        Response.Redirect("AdminPage"); 
       } 


      } 
      else 
      { 
       //Show error message that User is Incorrect 
      } 
     } 
    } 

回答

0

嘗試使用UserManager.IsInRole(User.Identity.GetUserId(), "RoleName")

而且是指:Understand IsInRole with character case

提示:嘗試探索 「對象瀏覽器」 的任何組件(按Ctrl + Alt + J )在Visual Studio中。