加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – MVC3:EF Code First和身份验证

发布时间:2020-12-16 06:47:18 所属栏目:asp.Net 来源:网络整理
导读:我正在SQLExpress DB上构建MVC3 EF Code First应用程序.对我来说非常重要的是,只要架构发生变化或类似的情况,就会自动生成数据库.现在我正在为我的应用程序添加身份验证,并查看了MVC附带的身份验证框架.但是,因为它似乎需要我每次生成新数据库时运行aspnet_r
我正在SQLExpress DB上构建MVC3 EF Code First应用程序.对我来说非常重要的是,只要架构发生变化或类似的情况,就会自动生成数据库.现在我正在为我的应用程序添加身份验证,并查看了MVC附带的身份验证框架.但是,因为它似乎需要我每次生成新数据库时运行aspnet_regsql.exe.我真的需要Authentication表与我的应用程序数据库在同一个数据库中.

我基本上想知道我的选择是什么;

>是否可以使用身份验证框架并以与Entity框架生成其他数据相同的方式自动生成它?
>如果没有,我可以编写自己的身份验证,但是还有部分我可以使用吗?换句话说,我是否需要编写自定义成员资格提供程序或类似的东西?我想继续使用属性[authenticate]等.

我可以在正确的方向上使用一些指针.

解决方法

您可以从 CodeFirst Membership Provider
开始 – 这是一个基于代码优先的自定义提供程序 – 如果需要可以扩展(也可以通过网站上的推荐用法阅读).

以上是IMO的最佳方式,因为您可以真正地集成两者(例如,如果您可能需要直接访问例如会员表,与您自己的用户/客户端表等相关).

但你也有其他选择……

a)编写自己的Db初始化程序并对数据库进行种子处理(就像这里建议的那样https://stackoverflow.com/a/5462981/417747.注意:您可以使用不同的方法,从运行aspnet表SQL脚本到创建aspnet表的模型等)或者

b)使用“保留”数据库的Db初始化程序 – 并首先使用aspnet表准备数据库

c)(最后但并非最不重要)使用迁移(正如@Chris正确建议的那样).迁移非常强大.您可以运行Update-Database -Script来生成SQL而不是更改Db – 然后将其组合(使用aspnet脚本或种子数据库)并将其用于创建或更新数据库.迁移需要一些学习,但再次非常值得为更复杂的事情付出努力.

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读