Asp.net 2.0的心得:关于Login组件


案例一:密码设置

  案例现象:在创建用户的时候,输入密码,然后输入确认密码, 它老是提示 请输入相同的密码。

  这个问题大家问的很多,其实这是一个密码保护的问题,asp.net 2.0里面缺省的密码规格设置为8个字符以上,必须有大小写字母和数字以及标点符号,哈哈,搞笑吧。

  解决方案:

  在web.config里面加上:
     <membership>
    <providers>
    <add connectionStringName="LocalSqlServer" passwordAttemptWindow="10"
    enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false"
    applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed"
    minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0"
    passwordStrengthRegularExpression="" name="MyMembershipProvider"
    type="system.Web.Security.SqlMembershipProvider" />
    </providers>
    </membership>

  把上面的内容加在<system.web>里面,这样就设置为密码为4个任意字符以上。这是小虫在www.asp.net里面求得的答案。

  案例二:找回密码

  案例现象:无法给用户的mail box发密码邮件。

  这个问题小虫一开始就是在找哪里可以设置smtp server的地方,找在找没找到,倒是在在www.asp.net提问,还是第一个人呢,呵呵,MS的工程师给出的答案。

  在machine.config里面加上:
     <smtpMail
    serverName=”<mail server address>”
    serverPort=”25”>

  搞吧,要加在这里,晕。

  还有就是可以设置一个template。格式如下:

  晕,老忘记密码,下次发密码要收费拉

  记着,用户名是:<%UserName%>

  密码是<%Password%>

  下次在忘记,先付100RMB。

  把这个template文件保存为123.txt,然后把这个文件名赋予passwordrecovery控件的MailDefinition.BodyFileName属性。

  也可以加在web.config

  案例三:用户登陆后,如何查询用户的基本信息

  这个问题是csdn上有人问,当时小虫回答了,后来发现又有人问。

  很简单: MembershipUser user = Membership.GetUser();

  然后你想要什么,就直接到user里面找把,具体内容Msdn里面说的很清楚了。

  还有就是MembershipUser.GetAllUser();可以得到所有用户的一个列表,然后想要什么就去这个列表里面拿吧,呵呵。

  案例四:如何把数据库从Access切换到Sql server

  这个是bate 1的问题,bate 2已经缺省为sal server,解决办法也简单:

  这里有个工具叫aspnet_regsql.exe,在windows目录下micorsoft.netframeowork<版本号>这个目录下。

  案例五:

  不知道用户的老密码,如何更改密码,有个小巧妙,用MembershipUser.ResetPassword()这个函数得到一个随机生成的密码,然后,呵呵,在用ChangePassword()就可以了。

  案例六:

  不想用Ms提供的控件,但想用这套管理办法。

  很简单,就直接调用MembershipUser类里面的API,小虫就是这样用的,因为,呵呵,美工帮我做界面了,虽然login个各个控件的template都可以该,也还比较不错,但是总没自己做的好看,于是自己做了控件,但是用MembershipUser的API,效果一样。

  案例七:

  如何扩充功能,小虫测试过,可以改数据库结构,比如加一些字段和表,然后自己做个类继承MembershipUser,把你需要的函数加进去,哦,一切OK.不过千万别delete原来的东西,哈哈

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3