帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程
ASP.NET 2.0中的登陆控件简介(3)
作者:廖煜嵘编译 发布时间:2005-03-12 来源:ASPCOOL
     CreateUserWizard控件
  
    使用该控件,可以很方便地一步步引导用户进行注册。拖拉其到设计窗体中,如下图:
  
  
    当然,你可以对其属性进行更多地设置,比如,设置HeaderTemplate(头模版),StartNavigationTemplate(开始注册模版),FinishNavigationTemplate(结束注册模版)等,具体设置可以参考在线帮助。而该控件还允许当注册成功后向用户发邮件,比如:
  
  <asp:CreateUserWizard id="CreateUserWizard1" runat="server">
  <MailDefinition
  BodyFileName="NewUserEmail.txt"
  From="welcome@dorknozzle.com"
  Subject="Welcome to the Dorknozzle site!"/>
  </asp:CreateUserWizard>
  
    而发邮件则需要在web.config文件中配置,比如:
  
  <configuration>
  <system.web>
  <authentication mode="Forms"/>
  <smtpMail serverName="Localhost"/>
  </system.web>
  </configuration>
  
    PasswordRecovery密码恢复控件
  
    该控件可以实现简单地密码提示恢复功能,并将密码email给用户,代码如下:
  
  <asp:PasswordRecovery id="prForgotPass" runat="server"> </asp:PasswordRecovery>
  
    实现时如下图所示:
  
  
  
    用户输入用户名后,则需要输入密码恢复的答案,如下图:
  
    并在该控件中设置将恢复后的密码EMAIL给用户
  
  <asp:PasswordRecovery id="prForgotPass" runat="server">
  <MailDefinition
  BodyFileName="forgotpassword.txt"
  From="helpdesk@dorknozzle.com"
  Subject="Word has it, you forgot your password?"/>
  </asp:PasswordRecovery>
  
    ChangePassword 更改密码控件
  
    更改密码控件可以很方便地实现密码的更改,包括一个 MailDefinition 属性。如果将值赋给 MailDefinition 属性,则 ChangePassword 控件在密码成功更改时将自动向用户发送一个电子邮件。
  
  
    直接使用Membership API
  
    有时候,需要对成员身份进行更高级别(比 Web 站点管理工具或 Login 控件提供的控制级别高)的控制。在这些情况下,可以直接使用 Membership API。
  
    Membership API 是通过 Membership 类公开的。Membership 类包含的方法使您能够完成以下工作:创建新用户;更改密码;搜索与特定条件匹配的用户等等。在幕后,Login 控件使用这些方法与已配置的成员身份提供程序进行交互。
  
    下面列出了 Membership 类的一些比较重要的方法:
  
     CreateUser — 使您能够创建新用户。
  
     DeleteUser — 使您能够删除现有用户。
  
     FindUsersByEmail — 使您能够检索与某个特定的电子邮件地址匹配的用户集合。
  
     FindUsersByName — 使您能够检索与某个特定的用户名匹配的用户集合。
  
     GeneratePassword — 使您能够生成随机密码。
  
     GetAllUsers — 使您能够检索成员身份提供程序中存储的所有用户。
  
     GetNumberOfUsersOnline — 使您能够返回当前正在访问 Web 应用程序的用户数。
  
     GetUser — 使您能够检索与当前用户相关联的成员身份信息,或者使您能够检索与某个已经提供用户名的用户相关联的成员身份信息。
  
     GetUsernameByEmail — 使您能够检索具有某个特定电子邮件地址的用户的用户名。
  
     UpdateUser — 使您能够更新特定用户的信息。
  
     ValidateUser — 使您能够根据成员身份提供程序对用户进行身份验证。
  
    最后,我们利用该API,实现稍微复杂的功能。在index.aspx中,添加一个label控件,显示在线的人数,代码如下:
  
  Number of Users Online:
  <asp:Label id="lblNumUsersOnline" runat="server"/>
  
    在PAGE-LOAD事件中,增加代码如下:
  
  Sub Page_Load(s As Object, e As EventArgs) Handles MyBase.Load
  lblNumUsersOnline.Text = _
  Membership.GetNumberOfUsersOnline().ToString()
  End Sub
  
    则可以显示在线人数。我们并且再添加一个gridview,显示所有用户的在线状况,是否允许某种权限和相关的信息。
  
  <asp:GridView id="gvUsers" runat="server" AutoGenerateColumns="False">
  <Columns>
  <asp:BoundField HeaderText="Username" DataField="Username" />
  <asp:BoundField HeaderText="Is Online?" DataField="IsOnline" />
  <asp:BoundField HeaderText="Is Approved?" DataField="IsApproved" />
  <asp:BoundField HeaderText="Email" DataField="Email" />
  </Columns>
  </asp:GridView>
  
    并将gridview绑定:
  
  gvUsers.DataSource = Membership.GetAllUsers() ;
  gvUsers.DataBind();
  
    最后运行结果如下图:
  
    总结:
  
    本文以实际例子,介绍了asp.net 2.0中新增加的登陆系列控件的简单用法以及新增加的Membership API的简单使用,更多的请参考MSDN或正式版时的有关介绍。
  

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·如何在命令行下编译一个asp.net项  (2005-03-12)
 ·使用反射将业务对象绑定到 ASP.N  (2005-03-12)
 ·提高ASP.Net应用程序性能的十大方  (2005-03-12)
 ·提高ASP.Net应用程序性能的十大方  (2005-03-12)
 ·ASP.NET中数据库数据导入Excel并  (2005-03-12)
 ·ASP.NET中数据库数据导入Excel并  (2005-03-12)
 ·ATL Server 与 ASP.NET  (2005-03-12)
 ·ASP.NET 2.0 中改进的缓存功能  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统