.NET CORE 2 MVC角色登录



我有一个.NET Core 2 MVC项目,并且我的网站的一部分与项目中的另一个完全分开。这两个"零件"共享相同的用户集。在项目的一个部分中,我希望用户能够查看登录页面,但只有具有特定角色才能实际登录的用户。

目前,我使用ASP.NET Identity的用户管理器的IsInRoleAsync方法,但是我想知道是否有更好的解决方案?

谢谢

您可以使用Authorize属性:

public class AccountController : Controller
{   
    [HttpGet]
    public ActionResult Login()
    {
         // shows the login page
    }
    [HttpPost]
    [Authorize(Roles = "Administrator")]
    public ActionResult Login(LoginViewModel model)
    {
         // Process login
    }
}

我认为您可以这样使用您的代码:

[HttpPost]
public ActionResult Login(LoginViewModel model)
{
     // Process login
     // after he loged in
     // Check if he is an admin, if not log out using :
     await signInManager.SignOutAsync();
     // then redirect to login page with a message
}

我希望这对您有用。

相关内容

  • 没有找到相关文章