Asp.net2.0身份验证技术学习入门---新用户注册,登录,显示用户信息

这一篇开始讲解如何快速添加一个新用户,非常的简单,首先在我们上一篇建好的网站中新建一个UserReg.aspx页,加入一个CreateUserWizard控件,在设计视图下选中控件,在控件的属性栏里的“行为”里把ContinueDestination的URL设定为创建完新用户后点击“继续”按键你想要转到的页面。我这里设的是Default.aspx,也就是当注册完成后点“继续”会转到Default.aspx这一页,当然,我们还要在Default.aspx中做一些设置用来查看我们刚注册完成的用户的相关信息。

UserReg.aspx具体内容如下:

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="UserReg.aspx.cs" Inherits="UserReg"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 用户注册 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:CreateUserWizard  ID ="CreateUserWizard1"  runat ="server"  BackColor ="#F7F6F3"  BorderColor ="#E6E2D8"
            BorderStyle
="Solid"  BorderWidth ="1px"  Font-Names ="Verdana"  Font-Size ="0.8em"  ContinueDestinationPageUrl ="~/Default.aspx" >
            
< WizardSteps >
                
< asp:CreateUserWizardStep  runat ="server" >
                
</ asp:CreateUserWizardStep >
                
< asp:CompleteWizardStep  runat ="server" >
                
</ asp:CompleteWizardStep >
            
</ WizardSteps >
            
< SideBarStyle  BackColor ="#5D7B9D"  BorderWidth ="0px"  Font-Size ="0.9em"  VerticalAlign ="Top"   />
            
< TitleTextStyle  BackColor ="#5D7B9D"  Font-Bold ="True"  ForeColor ="White"   />
            
< SideBarButtonStyle  BorderWidth ="0px"  Font-Names ="Verdana"  ForeColor ="White"   />
            
< NavigationButtonStyle  BackColor ="#FFFBFF"  BorderColor ="#CCCCCC"  BorderStyle ="Solid"
                BorderWidth
="1px"  Font-Names ="Verdana"  ForeColor ="#284775"   />
            
< HeaderStyle  BackColor ="#5D7B9D"  BorderStyle ="Solid"  Font-Bold ="True"  Font-Size ="0.9em"
                ForeColor
="White"  HorizontalAlign ="Center"   />
            
< CreateUserButtonStyle  BackColor ="#FFFBFF"  BorderColor ="#CCCCCC"  BorderStyle ="Solid"
                BorderWidth
="1px"  Font-Names ="Verdana"  ForeColor ="#284775"   />
            
< ContinueButtonStyle  BackColor ="#FFFBFF"  BorderColor ="#CCCCCC"  BorderStyle ="Solid"
                BorderWidth
="1px"  Font-Names ="Verdana"  ForeColor ="#284775"   />
            
< StepStyle  BorderWidth ="0px"   />
        
</ asp:CreateUserWizard >
        
&nbsp;
    
    
</ div >
    
</ form >
</ body >
</ html >

   在Default.aspx.CS页面中,我们要显示出当面用户的名字,邮箱地址,注册时间,上一次登录的时间等: 

protected   void  Page_Load( object  sender, EventArgs e)
    
{
        
if (User.Identity.IsAuthenticated)//判断当前用户是否已登录
        
            MembershipUser u 
= Membership.GetUser(User.Identity.Name);//用当前用户进行实例化
            Response.Write(u.UserName 
+ "</p>");//用户名字
            Response.Write(u.Email + "</p>");//用户EMAIL
            Response.Write(u.CreationDate + "</p>");  //用户注册时间
            Response.Write(u.LastActivityDate + "</p>"); //用户上一次登录时间
        }
  
        
else
        
{
            Response.Write(
"请先登录"); 
        }
      
    }

  然后在Default.aspx页面里添加一个LoginStatus控件,这个控件可以根据用户是否登录而分别显示出“登录”及“注销”两种状态。接下来我们还要再新一个Login.aspx页面做为我们的登录页,在页面里加入一个Login控件,之后可以修改一下Login控件的属性,DestinationPageUrl="~/Default.aspx"设定登录后默认转到的页面,CreateUserText="注册" CreateUserUrl="~/UserReg.aspx"设定点击注册后转到的注册页地址,PasswordRecoveryText="忘记密码"  PasswordRecoveryUrl="~/ResetPassword.aspx"设定点击忘记密码后转到找回密码的页面地址

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:Login  ID ="Login1"  runat ="server"  BackColor ="#F7F6F3"  BorderColor ="#E6E2D8"  BorderPadding ="4"
            BorderStyle
="Solid"  BorderWidth ="1px"  CreateUserText ="注册"  CreateUserUrl ="~/UserReg.aspx"
            Font-Names
="Verdana"  Font-Size ="0.8em"  ForeColor ="#333333"  PasswordRecoveryText ="忘记密码"
            PasswordRecoveryUrl
="~/ResetPassword.aspx"  DestinationPageUrl ="~/Default.aspx"   >
            
< TitleTextStyle  BackColor ="#5D7B9D"  Font-Bold ="True"  Font-Size ="0.9em"  ForeColor ="White"   />
            
< InstructionTextStyle  Font-Italic ="True"  ForeColor ="Black"   />
            
< TextBoxStyle  Font-Size ="0.8em"   />
            
< LoginButtonStyle  BackColor ="#FFFBFF"  BorderColor ="#CCCCCC"  BorderStyle ="Solid"  BorderWidth ="1px"
                Font-Names
="Verdana"  Font-Size ="0.8em"  ForeColor ="#284775"   />
        
</ asp:Login >   </ div >
    
</ form >
</ body >
</ html >

   接下来我们还要再建一个页面ResetPassword.aspx用来找回密码,在页面中添加一个PasswordRecovery控件,当忘记了密码转到这个页面时,它首先会让你输入用户名,之后输入密码问题的答案,如果正确的话就把新密码发到你的邮箱里,我的电脑没有设置SMTP所以不能发邮件,这个功能大家自己试吧!

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="ResetPassword.aspx.cs" Inherits="ResetPassword"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:PasswordRecovery  ID ="PasswordRecovery1"  runat ="server"  BackColor ="#F7F6F3"  BorderColor ="#E6E2D8"
            BorderPadding
="4"  BorderStyle ="Solid"  BorderWidth ="1px"  Font-Names ="Verdana"
            Font-Size
="0.8em" >
            
< InstructionTextStyle  Font-Italic ="True"  ForeColor ="Black"   />
            
< SuccessTextStyle  Font-Bold ="True"  ForeColor ="#5D7B9D"   />
            
< TextBoxStyle  Font-Size ="0.8em"   />
            
< TitleTextStyle  BackColor ="#5D7B9D"  Font-Bold ="True"  Font-Size ="0.9em"  ForeColor ="White"   />
            
< SubmitButtonStyle  BackColor ="#FFFBFF"  BorderColor ="#CCCCCC"  BorderStyle ="Solid"
                BorderWidth
="1px"  Font-Names ="Verdana"  Font-Size ="0.8em"  ForeColor ="#284775"   />
        
</ asp:PasswordRecovery >
    
    
</ div >
    
</ form >
</ body >
</ html >

   呵呵,验证工作可以告一段落了,糟糕,忘记了一件重要的事情,忘记在Web.Config里设定要保护的页面了,我们搞验证不就为的这个么?先在网站里建立一个文件夹“ADMIN”在这个文件夹里新建一个Admin.aspx文件,在这个文件里先随便打几个字“Admin OK!!!”,然后再打开Web.config加入:

< location  path ="Admin" >
    
< system .web >
      
< authorization >
        
< deny  users ="?"   />         
      
</ authorization >
    
</ system.web >
  
</ location >

  要注意这段代码是加在</system.web>和</configuration>中间的,<deny users="?" />这句话的意思是拒绝所有非授权用户访问ADMIN文件夹。

  好了,这下基本上就完成了,大家自已开始试验吧,下一篇开始介绍角色创建及管理。


 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值