基于oracle的membership(System.Web.Security)应用

1、WebSecurity

在 ASP.NET 应用程序中,Membership 类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。Membership 类可以独自使用,或者与 FormsAuthentication 一起使用以创建一个完整的 Web 应用程序或网站的用户身份验证系统。Login 控件封装了 Membership 类,从而提供一种便捷的用户验证机制

Membership 类提供的功能可用于:
1)创建新用户。
2)将成员资格信息(用户名、密码、电子邮件地址及支持数据)存储在 Microsoft SQL Server 或其他类似的数据存储区。
3)对访问网站的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用 Login 控件创建一个只需很少代码或无需代码的完整的身份验证系统。
4)管理密码。包括创建、更改、检索和重置密码等等。可以选择配置 ASP.NET 成员资格以要求一个密码提示问题及其答案来对忘记密码的用户的密码重置和检索请求进行身份验证。
默认情况下,ASP.NET 成员资格可支持所有 ASP.NET 应用程序。默认成员资格提供程序为 SqlMembershipProvider 并在计算机配置中以名称 AspNetSqlProvider 指定。SqlMembershipProvider 的默认实例配置为连接到 Microsoft SQL Server 的一个本地实例。

2、问题描述

(1)省考试院项目所使用的WebSecurity 基于sqlserver 数据库,而现需使用oracle数据库

(2)初始化角色权限乱码

3、解决方法

(1)

1、引用Devart.Data.Oracle.Web.dll

2、在web.config文件中在<system.web>标签下添加

<membership defaultProvider="OracleExtendedMembershipProvider">

      <providers>

        <remove name="OracleExtendedMembershipProvider" />

        <add name="OracleExtendedMembershipProvider" type="Devart.Data.Oracle.Web.Providers.OracleExtendedMembershipProvider, Devart.Data.Oracle.Web, Version=9.9.872.4, Culture=neutral, PublicKeyToken=09af7300eec23701" description="dotConnect for Oracle extended membership provider" connectionStringName="DefaultConnection" />

      </providers>

</membership>

<roleManager enabled="true" defaultProvider="OracleExtendedRoleProvider">

      <providers>

        <remove name="OracleExtendedRoleProvider"/>

        <add name="OracleExtendedRoleProvider" type="Devart.Data.Oracle.Web.Providers.OracleExtendedRoleProvider,

          Devart.Data.Oracle.Web, Version=9.9.872.4, Culture=neutral, PublicKeyToken=09af7300eec23701"

             description="dotConnect for Oracle extended role provider" connectionStringName="DefaultConnection" />

      </providers>

    </roleManager>

添加完成后需将version设置为自己的版本号,connectionStringName也设置为自己的名称

(2)

修改环境变量NLS_LANG  AMERICAN_AMERICA.ZHS16GBK

猜你喜欢

转载自www.cnblogs.com/llyc/p/11950149.html