首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual标识框架UserManager

Visual标识框架UserManager
EN

Stack Overflow用户
提问于 2015-05-05 18:32:13
回答 1查看 375关注 0票数 1

我的问题是,我试图创建一个“角色”,并将其添加到用户中。它在对UserManager类的引用上出现错误,如下所示

代码语言:javascript
复制
 public ActionResult RoleAddToUser(string UserName, string RoleName)
 {
 ApplicationUser user = context.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
        var account = new AccountController();
        account.**UserManager**.AddToRole(user.Id, RoleName);
 var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
        ViewBag.Roles = list;

        return View("ManageUserRoles");

和我的AccountController如下

代码语言:javascript
复制
 public class AccountController : Controller
 {
    public UserManager<ApplicationUser, string> um = new UserManager<ApplicationUser, string>(ApplicationUser user, string key);

我也试过

代码语言:javascript
复制
 public UserManager<ApplicationUser, string> um = new UserManager<>();

前一句话都错了:

过载法有一些无效的论证。

后者说:

预期类型

我也试过

代码语言:javascript
复制
 public UserManager<ApplicationUser, string> um = new UserManager<ApplicationUser,string>();

这就产生了错误:

此方法不包含接受0参数的构造函数。

如何正确地实现/调用/使用UserManager类?

EN

回答 1

Stack Overflow用户

发布于 2015-05-05 18:43:27

根据MSDN https://msdn.microsoft.com/en-us/library/dn497520(v=vs.108).aspx

UserManager有以下构造函数定义

代码语言:javascript
复制
  public UserManager(   IUserStore<TUser, TKey> store)

因此,当您初始化它时,首先需要有IUserStore实例,如下所示

  1. 根据需要实现IUserStore 公共类MyUserStore : IUserStore,其中T: ApplicationUser {}
  2. 创建MyUserStore实例 MyUserStore userStore =新MyUserStore();
  3. 将用户管理器创建为 UserManager um =新UserManager(userStore);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30060658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档