我创建了一个小型车队管理应用程序,并借助我在 Microsoft 网站和其他网站上找到的教程和材料。
我设法实现了用户管理服务(从一开始就没有使用身份验证创建项目),现在可以创建新用户并从界面管理它们,尽管我创建了一个“管理员”角色并将其分配给管理员帐户(通过启动.cs) ,我很难创建一个 UI 来管理角色(创建、修改、删除、为用户分配角色)。我已经搜索了 3 天,但找不到关于如何使用 RoleManager 为其创建控制器和视图的合适教程。
谁能指出我正确的方向?
我正在使用 ASP.NECore.All 2.0.6 和 EF Core 2.1.1
帐户控制器:
public class AccountController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
private readonly IEmailSender _emailSender;
private readonly ILogger _logger;
public AccountController(
UserManager<ApplicationUser> userManager,
SignInManager<ApplicationUser> signInManager,
IEmailSender emailSender,
ILogger<AccountController> logger)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_logger = logger;
}
管理控制器:
public class ManageController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
private readonly IEmailSender _emailSender;
private readonly ILogger _logger;
private readonly UrlEncoder _urlEncoder;
private const string AuthenticatorUriFormat = "otpauth://totp/{0}:{1}?secret={2}&issuer={0}&digits=6";
private const string RecoveryCodesKey = nameof(RecoveryCodesKey);
public ManageController(
UserManager<ApplicationUser> userManager,
SignInManager<ApplicationUser> signInManager,
IEmailSender emailSender,
ILogger<ManageController> logger,
UrlEncoder urlEncoder)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_logger = logger;
_urlEncoder = urlEncoder;
}
其余操作是默认操作,您可以在使用个人帐户身份验证创建新项目时获得这些操作。