所以我需要将用户身份验证添加到我构建的Web应用程序 - Web窗体,而不是MVC - 并且一直在尝试阅读Microsoft提供/开发的身份模型以及用户和角色或声明 - 我更喜欢角色,但看起来MS希望每个人都切换到声明。虽然我知道它具有内置功能,但我想知道它是否只是更简单的盐和amp;哈希密码,为用户提供软件定义的"角色"并在加载页面时测试用户的角色。或者我应该尝试以微软的方式做到这一点?也许我只是不太了解MS的框架。
几个问题:
提前致谢。
答案 0 :(得分:0)
可以配置存储用户/角色/声明的位置。默认实体框架实现是将数据存储在SQL数据库中。如果在本地运行它,使用默认模板,它将创建LocalDB数据库。您可以将其配置为使用现有的SQL Server数据库 有些项目允许您将这些数据保存在RavenDb,MongoDb,AzureTables,MySql中;我甚至看到讨论将web.config作为单个管理员用户的定义。
是。以部署常规数据库的方式部署到生产中。
MS已经处理了您正在谈论的工具。即使您下载它,它也无法使用新的方式。您可以选择自己编写角色管理,直接进入DB并在那里创建角色(如果是一次性工作)。或者使用Brock Allen's IdentityManager工具(但要注意,这还不能嵌入到其他应用程序中)。
在Identity Framework中,您不使用web.config来配置任何内容。连接字符串除外。您可以构建自己的UserManager
实现,它将从web.config
获取配置参数。
关于角色与声明。在Identity框架中,角色是一种声明。不要过多地抓住它,它只是类似事物的不同名称。我强烈建议学习“MS-way”并让Identity工作(如果你不需要它们就不必使用声明,角色将像以前一样工作)并忘记MembershipProvider作为噩梦般的遗产。 / p>