当前位置: 首页 > article >正文

Membership学习(五)关于Membership的设置

初学MemberShip,遇到一个Membership设置的问题
因为一般教程使用的示例都是SQL Server 2005 Express版本的本地 ASPNETDB.MDF文件,如果我要使用远程的Sql Server 2005服务器的话,需要进行一些设置。
Setp1:当你使用Membership, 我们可以发现ASP.NET 2.0 已经在 SQL Server 2005 Express建立了很多表(aspnet_Membership等),视图,存储过程等。当时我们自己的远程服务器上并没有这些表。难道我们需要自己建?当然不用,微软给我们准备了一个工具:
%systemroot%/Microsoft.NET/Framework/v2.x/
目录下的aspnet_regsql工具
根据它的向导,可以很方便地指定你的服务器和数据库。完成之后,我们可以发现,我们的远程服务器上制定数据库上已经创建好了我们需要的表,视图,存储过程等。
Step2:这时候我们需要在web.config更改Membership的Provider
我们可以参考machine.config文件中的内容:
(machine.config在%systemroot%/Microsoft.NET/Framework/v2.x/CONFIG 目录下)
然后修改Membership的provider.,修改的时候需要注意一个问题,因为machine.config中已经存在一个provider了,所以你直接增加一个provider的话

         < membership >             
            
< providers >
            
            
< add  name ="RemoteSqlMembershipProvider"  type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  connectionStringName ="remoteSqlServer"  enablePasswordRetrieval ="false"  enablePasswordReset ="true"  requiresQuestionAndAnswer ="false"  applicationName ="/"  requiresUniqueEmail ="false"  passwordFormat ="Hashed"  maxInvalidPasswordAttempts ="5"  minRequiredPasswordLength ="7"  minRequiredNonalphanumericCharacters ="1"  passwordAttemptWindow ="10"  passwordStrengthRegularExpression =""  />             
            
</ providers >
        
</ membership >

在程序运行中还是会去寻找在machineconfig中定义的AspNetSqlMembershipProvider,因为那个是default的 。所以一种选择是,我们把这个新的Provider设置为Default的。
clear原来的provider,然后再增加自己的 provider(connectiongStringName设置为我们自己的ConnectionString):
这里需要注意的另一个问题就是,provider的名字一定需要是AspNetSqlMembershipProvider,其他名字就会出现这个错误:
Default Membership Provider could not be found.
因为原来已经指定了AspNetSqlMembershipProvider为Default Provider.

PS:此文只针对SQL Server数据库
         < membership  defaultProvider ="RemoteSqlMembershipProvider" >
            
            
< providers >
            
            
< add  name ="RemoteSqlMembershipProvider"  type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  connectionStringName ="remoteSqlServer"  enablePasswordRetrieval ="false"  enablePasswordReset ="true"  requiresQuestionAndAnswer ="false"  applicationName ="/"  requiresUniqueEmail ="false"  passwordFormat ="Hashed"  maxInvalidPasswordAttempts ="5"  minRequiredPasswordLength ="7"  minRequiredNonalphanumericCharacters ="1"  passwordAttemptWindow ="10"  passwordStrengthRegularExpression =""  />
            
            
</ providers >

另一种选择是,我们首先
         < membership >             
            
< providers >
            
< clear />
            
< add  name ="AspNetSqlMembershipProvider"  type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  connectionStringName ="remoteSqlServer"  enablePasswordRetrieval ="false"  enablePasswordReset ="true"  requiresQuestionAndAnswer ="false"  applicationName ="/"  requiresUniqueEmail ="false"  passwordFormat ="Hashed"  maxInvalidPasswordAttempts ="5"  minRequiredPasswordLength ="7"  minRequiredNonalphanumericCharacters ="1"  passwordAttemptWindow ="10"  passwordStrengthRegularExpression =""  />             
            
</ providers >
        
</ membership >
   < connectionStrings >
    
< add  name ="LocalSqlServer"  connectionString ="data source=./SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"  providerName ="System.Data.SqlClient"  />
  
</ connectionStrings >

    
< membership >
      
< providers >
        
< add  name ="AspNetSqlMembershipProvider"  type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  connectionStringName ="LocalSqlServer"  enablePasswordRetrieval ="false"  enablePasswordReset ="true"  requiresQuestionAndAnswer ="true"  applicationName ="/"  requiresUniqueEmail ="false"  passwordFormat ="Hashed"  maxInvalidPasswordAttempts ="5"  minRequiredPasswordLength ="7"  minRequiredNonalphanumericCharacters ="1"  passwordAttemptWindow ="10"  passwordStrengthRegularExpression =""  />
      
</ providers >
    
</ membership >


你可以直接在machine.config里更改,不过这里一更改,会影响到以后所有ASP.NET程序的设置,所以我们还是在自己的web.config中更改比较好
在web.config 中,首先创建我们自己的连接字符串:

     < connectionStrings >
        
< add  name ="remoteSqlServer"  connectionString ="server=..;uid=..;pwd=..;initial catalog=.."  providerName ="System.Data.SqlClient"  />
    
</ connectionStrings >
 
http://www.lryc.cn/news/2414882.html

相关文章:

  • 对GWT-EXT学习时遇到的问题,详细记录下来
  • 瑞星、360、金山卫士、BaiduPlayer、SOSO开聚会,电脑吃不消了
  • 电脑exe文件打不开_wup.exe程序文件占用电脑资源如何强制关闭,禁止再次自行打开的解决方法...
  • 天翼云配置cdn加速
  • 访问一个网站域名,中间做了什么那些操作-详细
  • pycharm使用wsl、SSH
  • html phpstorm 生成_[转载]让你玩转代码的编辑神器phpstorm功能详解
  • LIBRARY_PATH和LD_LIBRARY_PATH
  • xfs文件系统的安装与简介
  • 雨林木风 Ghost XP SP2 联想OEM专版
  • C语言(超详细讲解,帮你零基础玩转C语言) | 扫雷游戏 —— 附完整代码可以直接copy运行游玩
  • 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
  • 哪些平台可以免费发布信息?热门三大免费信息发布网站
  • 统一身份认证(SSO/AD域/LDAP)
  • Chrome 使用的37个技巧
  • 2022小米红米手机最新最全MIUI刷机教程内测版到稳定版 不清除数据(线刷、卡刷)
  • flash as3 类型转换
  • oracle hint用法汇总
  • [ANT]apache ant 安装说明
  • Java 与 Python 数据交互
  • 统信桌面操作系统【打印机网络共享】方法
  • 免费下载中国知网、万方学术论文的几种方法(福利合集)
  • Image2Lcd图片取模软件
  • Android - 从零开始的AWS Lambda,kotlin实战
  • Python:火山小视频-无水印视频-多线程-批量采集实现和完整代码
  • 详解Asp.Net Sql数据库连接字符串
  • 看上去很美--次世代游戏平台XBOX360测评
  • cs_havana.wad_通过WAD和Docker热部署Java Enterprise
  • ]许多代码段,没准儿有你需要的 C++ Builder
  • QT5中文乱码解决 2021-06-26