ASP.NET 2.0 中Login控件的使用

摘自:http://uglytroll.yculblog.com/post.1245791.html

[原创]ASP.NET2.0中的membership问题

UglyTroLL @ 2006-04-25 18:07                          
                              
研究了一天的问题,耗了半包烟后终于搞定,谢谢BAIDU让我搜到了一个QQ群,谢谢群里热心的大大Jacky,下面正题: 
1、membership中的存储地址问题: 
在ASP.NET2.0中用Createuserwizard默认注册的用户存储在.net2005的sql server2005 experss下,里面默认的一堆表名都是以aspnet_开头的,我们所存储的users信息就在aspnet_membership和aspnet_users下,如果我们想使用自己机器上所用数据库(如Sql server2000.access等)而不是。NET默认的2005的话就需要进行以下配置: 
(1)、在.net freamework安装路径下(如: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\CONFIG )找到machine.config文件进行编辑,找到  <connectionStrings>...........</connectionStrings>项,里面填加自己的connection string,如:    <add name="tjproject" connectionString="Data Source=IMIS-DCA970B8AA;Initial Catalog=tjproject;Integrated Security=True" /> 
后面继续查找<membership>等,参考代码: 
   <membership> 
     <providers> 
       <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="tjproject" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> 
     </providers> 
   </membership> 
   <profile> 
     <providers> 
       <add name="AspNetSqlProfileProvider" connectionStringName="tjproject" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </providers> 
   </profile> 
   <roleManager> 
     <providers> 
       <add name="AspNetSqlRoleProvider" connectionStringName="tjproject" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
       <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </providers> 
   </roleManager> 
在里面设置成员,角色,提供者的连接String,注意这里的connectionStringName要设置为先前connectionstring里面的name,不然跑的时候会报错 
(2)设置web.config 
同machine.config一样,只是注意这里的连接名不能和machine.config重名,而且在这里似乎不需要设置角色与providers,无须为他们填加代码,除非有特殊需要 
存储位置问题在这里告一段落 
2、如何设置membership中的密码存储规则: 
如果大家注意看上面的代码,就会发现在connectionstring后面有一堆属性的设置,这些属性可以使我们做一些非常有趣的事情出来,下面对一些重要属性做下说明,其他可见msdn 
enablePasswordRetrieval:是否允许成员检索自己的密码 
enablePasswordReset:是否允许成员重置自己的密码 
passwordFormat:密码存储格式,默认为hash,即存储在数据库中的密码是以哈希加密,防止别人进入数据库盗取密码。Clear为明文模式,其余请见MSDN 
maxInvalidPasswordAttempts:用户输入错误的密码后最大重试次数,超过就封锁帐户 
passwordAttemptWindow:锁定帐户的时间,分钟为单位 
minRequiredPasswordLength:最小密码长度 
minRequiredNonalphanumericCharacters:密码中必须的非字母数字字符的数目(出于安全性考虑,防止被暴力破解) 
注意的是,这些设置必须同时在machine.config与web.config下设置才会在页面生效,设置不同的情况我没有测试,不知道会出现什么情况 
做完这些设置后,用Createuserwizard创建用户时就会严格参照这些规则,可以以自己需要自定义存储规则 
本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/06/08/420642.html如需转载请自行联系原作者

kenty
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值