繁体   English   中英

ASP.NET MVC4和Entity Framework中的.NET成员资格,Oracle为Db

[英].NET Membership in ASP.NET MVC4 and Entity Framework with Oracle as Db

我将很快以Entity Framework作为我的ORM和Oracle作为我的数据库引擎开始一个ASP.NET MVC 4项目。

我知道,为了使EF与Oracle一起使用,必须在Oracle中手动创建表,并将实体逐列映射到表。

问题是我的应用程序具有身份验证和授权需求,我想知道最简单的方法是使.NET成员资格与我的方案一起工作。

我已经找到了这篇文章 ,但是它利用了我认为昂贵的第三方软件。

我使用的是.NET (ODT)的Oracle开发人员工具 ,它对您有很大的帮助。 最好的部分:它是免费的! ODT包括ODP.NET,它将帮助您执行以下操作:

  • 自动设置ASP.NET成员资格表。 您需要先创建架构,然后运行提供的脚本。
  • 自动创建和映射EF实体(首先使用数据库); 您将不需要手动将表映射到表。

需要考虑的一些事情...我的成员资格架构与用于我的应用程序的架构是分开的。 这样,我可以将一个成员资格架构用于可能依赖于不同数据库(方案/用户)的多个应用程序。

配置web.config时,请确保将应用程序名称从“ /”更改为有意义的名称。 几个配置元素引用了应用程序名称,因此请确保全部更改。 成员资格提供者将在membersip数据库模式中自动创建应用程序记录。

创建成员资格架构(使用脚本)之后,需要将web.config文件的成员资格,配置文件和roleManager元素更改为以下内容:

<membership defaultProvider="OracleMembershipProvider">
  <providers>
    <clear />
    <add name="OracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConnectionString" applicationName="YOUR_APP_NAME" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
  </providers>
</membership>
<profile>
  <providers>
    <clear />
    <add name="OracleProfileProvider" type="Oracle.Web.Profile.OracleProfileProvider, Oracle.Web, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConnectionString" applicationName="YOUR_APP_NAME" />
  </providers>
</profile>
<roleManager enabled="true" defaultProvider="OracleRoleProvider">
  <providers>
    <clear />
    <add connectionStringName="OraAspNetConnectionString" applicationName="YOUR_APP_NAME" name="OracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  </providers>
</roleManager>

此链接也可能有帮助

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM