如何在登录方法中为用户设置角色 - Asp.net MVC

问题描述 投票:0回答:2

这是使用Web Service获取或设置数据库数据的项目。

对于登录方法,我发送用户名和密码,如果正确,web service返回角色和id。

如何为此用户设置此角色?

我必须为每个动作检查这个角色。

asp.net-mvc web-services asp.net-mvc-4
2个回答
1
投票

要允许每个用户按其角色使用,您可以使用:

[Authorize(Roles = "Admin")]
    public class SomeController : Controller

或者如果您愿意,您可以单独允许每种方法:

[Authorize(Roles = "Admin")]
public async Task<IActionResult> Index()

我没有得到你的要求,但我再次阅读标题,如果你想为用户分配一个角色,请使用:

await _userManager.AddToRoleAsync(user, "Guest");

作为"Guest"的角色。我认为你应该在寄存器方法上使用它而不是登录。希望这可以帮助。


0
投票

使用基于角色的授权过滤器这样的事情

[Authorize(Roles = "Administrator")]

public class AdministrationController:Controller {}

© www.soinside.com 2019 - 2024. All rights reserved.