我是ASP.NET MVC 5的新手,所以我尝试尽可能多地使用它来通过实践学习它。
因此,我正在考虑使用ASP.NET MVC的新OWIN实现来实现项目的身份验证和授权。就是说,我以一种可以与各种类型的数据库一起工作的方式来构建该项目。
到目前为止,我已经使用了通用的ADO.NET元素(例如DbDataReader
etc),但我拒绝使用任何ORM。因此,我想知道是否可以继续使用ASP.NET的新身份系统,或者如果这样做,我是否将绑定到Entity Framework和SQL Server?
没那么简单。也不难。
您必须编写以下内容的自定义实现:
IUserStore<TUser>
IUserPasswordStore<TUser>
IUserTwoFactorStore<TUser>
IUserClaimStore<TUser>
IRoleStore<TRole>
IUserSecurityStampStore<TUser, string>
IUserRoleStore<TUser, string>
UserManager<TUser>
然后从创建您自己的用户实现IUser<TKey>
,例如:
public class MyUser : IUser<string>
{
public string Id { get; set; }
public string UserName { get; set; }
}
最后,从NuGet中删除AspNet.Identity.EntityFramework,如果您不在其他地方使用它,它也会删除EntityFramework。
无论您的代码在哪里中断,都将其重写以使用您的自定义实现。
创建一个MyUserRepository,它实现从1到7的项目。
然后,创建一个实现项目8的MyUserManager。
将其替换为默认的AspNet.Identity.EntityFramework类将非常容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句