图形登录控件

1.CreateUserWizard控件

asp:CreateUserWizard ID="CreateUserWizard1" runat="server" 
            BorderColor="#FF6666" BorderWidth="2px">
            <WizardSteps>
                <asp:CreateUserWizardStep runat="server" />
                <asp:CompleteWizardStep runat="server" />
            </WizardSteps>
        </asp:CreateUserWizard>

<WizardSteps>部分列出了向导的所有步骤。默认的第一个是注册表单,第二个是确认信息。可以在这两个步骤之间添加其他步骤,向导会自动添加前进和后退按钮。并且引发一些事件来提醒所发生的事情

由于事先在web.config中设置不需要密码答案和问题,运行后,向导控件显示在设计视图的密码问题和答案在运行时自动隐藏:

图片4

 

可以设置控件,当用户注册完成后自动向用户发送确认邮件。在<MailDefinition>定义,包括发送者的E-mail地址、邮件主题,及文本文件(邮件主题)的引用,示例代码如下:

 

同时,web.config的<mailSettings>及其子项必须配置SMTP服务器,代码如下:

单击【创建用户】按钮:

 

经过检查,发现web.config中设置错误[userName应该为邮箱名字],改为:

  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="webadminsys@163.com">
        <network host="smtp.163.com" userName="webadminsys@163.com" password="webadminsys111" port="25"/>
      </smtp>
    </mailSettings>
  </system.net>
注册成功后,如图:

注意查看视图:vw_aspnet_MembershipUsers

打开邮箱:abc123abctest@163.com,看看收到邮件的情况:

邮件的正文部分依照<MailDefinition>中 BodyFileName的设置:

 
2.Login控件
该控件调用Membership.ValidateUser方法检查能否在数据库中找到所给的用户凭证,如找到,就调用
FormsAuthentication.RedirectFromLoginPage来创建加密了的权限票证(authentication ticket),将它保存在客户端cookie中。
属性:CreateUserText/CreateUserUrl;PasswordRecoryText/PasswordRecoveryUrl;VisibleWhenLoggedIn(登录后是否隐藏)

 
3.ChangePassword 控件
允许对其当前密码进行修改,它的声明中可以包含一个<MailDefinition>,用于向用户发送包含了新用户凭证的确认E-mail。
注意:这里设置:

BodyFileName为 ~/changepasswordMail.txt, IsBodyHtml为true

<asp:ChangePassword ID="ChangePassword1" runat="server" BorderColor="#3366FF" 
        BorderWidth="3px" PasswordRecoveryText="恢复密码" 
        PasswordRecoveryUrl="~/PasswordRecoveryDemo.aspx">
        <MailDefinition Subject="密码更改确认" IsBodyHtml="true" BodyFileName="~/changepasswordMail.txt"/>
    </asp:ChangePassword>
 

可通过设置Login控件的属性:DestinstionPageUrl

获取或设置在登录尝试成功时向用户显示的页面的 URL。

看看邮件:

看到html邮件正文同样支持!
 
4:PasswordRecory控件
第一步:需要回答用户名
第二步:需要回答注册时的密码安全答案
  若(web.config中<membership>子项若设置 requiresQuestionAndAnswer="false",则没有此步确认[参考上面的图片4])
如果正确,该控件会向用户发送一个E-mail,所以需用到<MailDefinition>。

 
5:LoginName控件

 
6:LoginStatus控件
根据当前用户是否通过认证来显示一个登录或者注销的链接。
属性:LoginText/LogoutText ,单击Logout链接,会调用FormsAuthentication.SignOut方法,删除客户端认证票据信息,然后刷新当前页面或者
根据LogoutAction和LogoutPageUrl属性值跳转到其他页面。
 

7:LoginView控件

可以根据当前用户是否被认证来显示不同的输出信息。

用户未通过认证时显示Login控件,而用户登录后则显示[用户名]和一个Logout链接。

posted @ 2011-12-25 15:16  net小虫  阅读(397)  评论(0编辑  收藏  举报