您的位置:首页 > 编程语言 > ASP

【转贴】考察ASP.NET 2.0中的Membership, Roles, and Profile - Part 5

2007-11-20 21:54 537 查看
导读:
  本文英文原版及代码下载:
  http://aspnet.4guysfromrolla.com/articles/060706-1.aspx
  考察ASP.NET 2.0中的Membership, Roles, and Profile - Part 5
  导言:
  我们知道ASP.NET 2.0通过membership, roles,profile systems来创建和管理用户帐户。要为用户提供登录页面的话,我们只需要拖一个Login Web控件到页面即可.但如果我们想做一些用户定制呢?我们可以重新配置Login控件,再另外添加一些内容;或者出除了用户名和密码外,我们还希望用户提供email地址等,或者包含一个CAPTCHA(一些box,其text的背景为图片).可以通过多种方式来对Login Web控件进行定制.比如,是否显示"Remember me next time", 颜色、字体等设置;我们还可以将控件转换成一个模板(template);我们还可以为Authenticate event事件创建处理器,自定义认证逻辑,甚至使用CAPTCHA作为认证的一部分。
  本文,我们将考察如何通过Login控件的属性、通过模板来对其进行定制,通过Authentication事件处理器定制认证逻辑.
  通过属性定制Login控件
  首先我们要创建一个登录页面,如果用户尝试访问其未被授权的页面或点击LoginStatus控件的Login按钮时就会自动的重新定位到该页面。默认情况下,该页面必须命名为Login.aspx,并放在根目录下.当然如果你喜欢的话也可以使用其它的登录URL,但是你需要在Web.config文件里的节点里更新

元素:
  
  
  
  ...
  
  
  

  
  
  ...
  
  
  从工具栏拖该Login控件到我们创建的登录页面上,如下图所示,Login控件默认包含如下的内容:
  . 一个User Name TextBox
  . 一个Password TextBox
  . 一个"Remember me next time" CheckBox
  . 一个"Log In" Button
  此外,Login控件还有RequiredFieldValidators控件,以确保用户输入的User Name和Password不为空。另外,还有一个Literal控件用来显示Login控件的FailureText属性的值.
  


  
  图1
  可以通过各种与style相关的属性来美好Login控件的外观。比如Font, BackColor, Width, Height等等.另外还可以通过TextBoxStyle, CheckBoxStyle,和LoginButtonStyle来设置Login控件内部的TextBoxes, CheckBox,和Button Web控件.
  我们还可以改变其属性。比如,想将 "User Name:"文本换成别的吗?改动UserNameLabelText属性即可;想在添加说明吗?在InstructionText属性设置即可;通过LoginButtonText属性改变"Log In" Button的文本.通过HelpPageText 和 HelpPageUrl属性来添加一个定位到帮助页面的链接.而Orientation属性决定了Login控件如何布局.下图以及下载内容包含的Login控件演示了如何改变相关属性的值来改变其外观。
  


  
  图2
  以上只是进行了一定程度的定制,要想进行更大程度的定制,我们必须将其转变成一个模板。为此,切换到设计模式,在智能标签里点"Convert to Template" 项。这将在Login控件的声明代码里添加一个 ,包含一个HTML
  white; rowspan="3" align="center">
  Log In
  
   AssociatedControlID="UserName">  AssociatedControlID="UserName">User Name:  
  ControlToValidate="UserName"
ErrorMessage="User Name is required." ToolTip="User Name is required."
ValidationGroup="Login1">  ControlToValidate="UserName"
  ErrorMessage="User Name is required." ToolTip="User Name is required."
  ValidationGroup="Login1">*
  
  ValidationGroup="Login1" TabIndex="4" />  ValidationGroup="Login1" TabIndex="4" />
  
   AssociatedControlID="Password">  AssociatedControlID="Password">Password:  TabIndex="2">  TabIndex="2">
  ControlToValidate="Password"
ErrorMessage="Password is required." ToolTip="Password is required."
ValidationGroup="Login1">  ControlToValidate="Password"
  ErrorMessage="Password is required." ToolTip="Password is required."
  ValidationGroup="Login1">*
  
   TabIndex="3" />  TabIndex="3" />
  
  ValidationGroup="Login1"
ShowSummary="False" />  ValidationGroup="Login1"
  ShowSummary="False" />
  
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息