asp.net-mvc – 如何扩展asp.net web api 2用户?
我正在构建一个Web API(2)项目并使用“个人帐户”身份验证.
我想要 >使用一些细节(如名字/姓氏等)扩展用户(在模型中) 我刚刚开始学习MVC和Web API,所以任何人都可以帮助我吗? 让我解释一下自己: 解决方法
首先,如:
Introduction to ASP.NET Identity
现在,IdentityUser类将映射到数据库中的AspNetUsers表,因此我们通过创建一个继承它的新类并添加我们的自定义属性来扩展它: public class CustomUser : IdentityUser { public string Email { get; set; } } 然后你应该让UserManager类使用CustomUser而不是IdentityUser Class,所以在Startup.cs中,将UserManager和UserStore的泛型类型更改为: UserManagerFactory = () => new UserManager<CustomUser>(new UserStore<CustomUser>()); 还有财产: public static Func<UserManager<CustomUser>> UserManagerFactory { get; set; } 在ApplicationOAuthProvider.cs中,解决方案中的任何位置对UserManager的泛型类型执行相同的更改,并开始使用CustomUser而不是IdentityUser. public class RegisterBindingModel { [Required] [Display(Name = "User name")] public string UserName { get; set; } [Required] [StringLength(100,ErrorMessage = "The {0} must be at least {2} characters long.",MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "Password")] public string Password { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm password")] [Compare("Password",ErrorMessage = "The password and confirmation password do not match.")] public string ConfirmPassword { get; set; } public string Email { get; set; } } 然后在注册时你可以增加价值: CustomUser user = new CustomUser { UserName = model.UserName,Email=model.Email }; 我希望它会有所帮助 UPDATE 如果有人得到ExceptionMessage“无效的列名’Discriminator’.”这意味着在执行我的步骤之前已经创建了“AspNetUsers”,并且该表没有“Discriminator”列,所以您应该做的就是进入数据库,通过添加类型的新列来更改AspNetUsers表的设计as nvarchar(128)(同样在我的例子中添加一个你希望拥有的新列,如同电子邮件),并将其命名为Discriminator,并且不要忘记填写此列的字段以查找具有适当值的旧记录(在我的例如它将是CustomUser). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在Load事件中使用LoadControl的陷阱
- 如何在不提交的情况下触发ASP.NET客户端验证?
- asp.net mvc 2.0 Jquery表单提交
- asp.net-mvc-3 – 使用.SetValidator()时,FluentValidation
- asp.net-mvc-3 – 使用和不使用查询字符串路由旧请求
- 初识ABP vNext(12):模块的独立运行与托管
- asp.net – iFrame中的Response.Redirect(),重定向父窗口
- asp.net – IE10中的LinkBut??tons不执行回发
- asp.net – 如何将标签元素与单选按钮相关联
- asp经典 – 如何获得经典ASP中的当前域?
- asp.net – Visual Studio 2010和Visual Studio
- 从ASP.NET Core日志记录中删除日志中的敏感信息
- 如何将ASP.Net Webforms网站与ASP.Net MVC Web应
- asp.net-mvc – ASP.NET MVC:具有POST Action参
- 在ASP.NET标识中为AspNetUserRoles表添加角色
- 验证 – ASP.NET Web API是否支持IValidatableOb
- asp.net – SQL网络接口,错误:26 – 定位服务器
- 在ASP.NET中托管时找不到端点
- asp.net – 客户端确认后DropdownList autoposba
- asp.net-mvc – 在ASP.NET身份中角色与声明的最佳