Asp.net mvc 3 获取自己的EF 4.1代码第一个类以使用.NET成员资格

Asp.net mvc 3 获取自己的EF 4.1代码第一个类以使用.NET成员资格,asp.net-mvc-3,asp.net-membership,entity-framework-4.1,ef-code-first,Asp.net Mvc 3,Asp.net Membership,Entity Framework 4.1,Ef Code First,我正在开发一个简单的web应用程序,它首先使用EF4.1代码和MVC3构建。我的域模型位于MVC3项目之外的项目中 我已经到了我的web应用程序或多或少完整的阶段。但是现在,我的应用程序没有任何形式的授权或身份验证。因此,普通用户可以访问假定只有管理员才能访问的操作和控制器 我的问题是,如何让我的web应用程序与.NET成员一起工作?因为我知道.NET成员有许多自己的数据库表 我的知识相当有限,因此任何清晰、易于理解的回答都将不胜感激 建立成员资格后,我知道如何将身份验证和授权应用于操作和控制器

我正在开发一个简单的web应用程序,它首先使用EF4.1代码和MVC3构建。我的域模型位于MVC3项目之外的项目中

我已经到了我的web应用程序或多或少完整的阶段。但是现在,我的应用程序没有任何形式的授权或身份验证。因此,普通用户可以访问假定只有管理员才能访问的操作和控制器

我的问题是,如何让我的web应用程序与.NET成员一起工作?因为我知道.NET成员有许多自己的数据库表

我的知识相当有限,因此任何清晰、易于理解的回答都将不胜感激

建立成员资格后,我知道如何将身份验证和授权应用于操作和控制器


谢谢。

进入您的C:\Windows\Microsoft.NET\Framework\v2.xx或v4.xx\并执行aspnet\u regsql,这将启动一个向导,允许您选择数据库,它将添加存储的过程和表,以允许成员资格发挥作用


然后运行ASP.NET配置向导(解决方案资源管理器顶部的小工具箱图标),然后配置角色和帐户。请参阅并跳到“为会员资格和角色配置网站”部分。

ASP.Net会员资格实际上有点有趣,也有点令人沮丧。要运行一个名为aspnet_regsql.exe的工具,可在Windows\Microsoft.net\Framework文件夹中找到该工具,该工具将生成运行该工具所需的所有表。下一步移动到Web.config文件。如果您是从基本ASP.NET MVC 3模板开始的,那么您应该在名称“ApplicationServices”下有一个
条目。将其更改为数据库连接字符串。这是会员资格提供商用来连接所有内容的。如果您查看配置文件的其余部分,则应该有
部分。这些内容涉及ASP.Net用户管理的各个部分和设置

在这一点上,一切都应该连接起来。如果在解决方案资源管理器中选择项目,则会出现一个红色的小锤子图标。这是ASP.NET配置管理器。您可以使用它来设置不同的配置文件和管理不同的用户

现在,这些东西根本不会连接到EF4.1代码优先的东西。相反,您可以通过静态类
成员资格
角色
与您的成员资格提供者交互。如果您查看默认ASP.NETMVC3Internet应用程序模板上的AccountController,它将为您提供一个很好的工作原理


在使用这些东西几个月后,我发现基本上编写自己的东西要容易得多。将这些东西捆绑在一起最终会成为一种巨大的痛苦,会员资格提供商会给您提供很多小应用程序不需要的额外信息。

我是否错过了“此页面”应该是什么?另外,如果人们使用sdf/mdf自动附加文件,那么这个过程将比从向导中选择数据库要复杂一些,不?@AdamTuliper-“这个页面”是一个链接。是的,你好像错过了。我不认为他会使用sdf文件,因为这不是默认配置。我看到人们经常这样说,但实际上只需要使用ProviderUserKey作为他们自己用户表的键。一点也不难,而且您可以获得默认实现的所有优点,而不必为自己的实现而头疼。