Cyb*_*cop 14 c# asp.net-mvc entity-framework asp.net-identity
我试图学习Asp.Net Identity,在本教程中,
在Models\AppModels中创建实体框架代码First ToDo模型,cs part MyUser类继承自IdentityUser类并MyDbContext继承自IdentityDbContext<MyUser>类.这是为什么?
假设我有一个User类,它包含我的Web应用程序用户的所有信息,如果该类继承自IdentityUser,我应该DbContext继承IdentityDbContext<User>吗?
此外,继承IdentityDbContext<TClass>普通DbContext类的dbcontext类与MVC 4 中的优点相同
Mur*_*san 20
ASP.Net MVC 5.0使用OWIN实现即插即用.
为此设计了几个接口

IUSER
用户对象必须实现IUser接口,这要求每个用户至少拥有一个ID和一个名称.IUser最值得注意的方面是string类型的Id属性.字符串适用于GUID,但在使用密钥的整数时可能有点棘手,这与SQL Server一样.未来帖子中的更多细节.
IUserStore
Core Identity程序集中的I*Store接口被考虑用于提供各种级别的功能.
IUserStore定义了您希望用户使用的最低功能 - 创建,检索,更新和删除(CRUD)功能.如果您的网站希望允许用户使用密码创建本地帐户,您将需要一个实现IUserPasswordStore的组件(这是一个IUserStore).对于第三方登录(例如Twitter和Facebook),添加IUserLoginStore,对于声明存储,有一个IUserClaimStore.此外,上面的类图中没有显示,是角色接口的集合(IRole,IUserRoleStore等).让关于角色与主张的辩论开始吧.
的UserManager
UserManager是一个具体的类,UserManager提供用于处理用户信息的域逻辑.UserManager知道何时哈希密码,何时验证用户以及如何管理声明.
UserManager有一些扩展点,例如,管理器有许多属性可用于设置自定义用户验证器(任何实现IIdentityValidator的对象),自定义密码验证器和自定义密码哈希.主要的可扩展性点是通过UserManager构造函数,它允许您传入任何实现IUserStore的对象.如果您想使用UserManager来管理存储在SQL Server中的用户信息,我们将在后面的文章中查看预构建的类,但是创建一个IUserStore来处理文档数据库或其他也很容易.存储形式.
请记住,IUserStore不知道如何使用用户密码,只有IUserPasswordStore知道密码.UserManager知道不同的核心接口,并将尝试使用构造函数中给出的store对象的功能.例如,如果使用FindByIdAsync,则UserManager可以使用用户存储按ID查询用户,但是如果调用FindAsync(使用用户名和密码),并且底层存储未实现IUserPassword存储接口, UserManager将被强制抛出异常.
从用户到密码到索赔,使用单个具体类是很棘手的,必须进行权衡.我们还将看一下即将发布的帖子中的一些权衡.
编辑:检查实现ASP.Net标识
现在,ASP.Net标识IdentityUser<TKey>在它是字符串之前支持泛型,即UserId是一个字符串
| 归档时间: |
|
| 查看次数: |
21240 次 |
| 最近记录: |