在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
ASP.NET登录控件概述 心情:开心 日期:2008-12-20 19:33
ASP.NET登录控件概述使用ASP.NET 2.0提供的这些控件,我们只需要进行简单的设置而无需写一行代码就能提供“注册”、“登录”、“修改密码”和“取回密码”等与账户密切相关的一些操作。 图15-26 ASP.NET登录控件 15.6.2 登录控件首先添加一个Login.aspx,在页面上放入一个Login控件,然后使用属性窗口对控件进行配置。<asp:Login ID="Login1" runat="server" CreateUserText="没有注册?" CreateUserUrl="Register.aspx" PasswordRecoveryText="忘记密码?" PasswordRecoveryUrl="PasswordRecovery.aspx"/> CreateUserText属性表示创建用户链接的字符串,CreateUserUrl属性表示创建用户的链接地址,PasswordRecoveryText属性表示取回密码链接的字符串,PasswordRecoveryUrl表示取回密码的链接地址。 然后浏览Login.aspx,界面如图15-27所示。 15.6.3 创建用户向导控件在创建登录页面的时候,我们配置了注册链接的地址为Register.aspx,因此需要创建一个Register.aspx页面用于注册操作。在页面上放置一个CreateUserWizard控件。 <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" ContinueDestinationPageUrl="Default.aspx" /> 在这里,ContinueDestinationPageUrl属性表示注册完成后转向的页面地址。之后,我们会创建Default.aspx来显示登录名和登录状态等信息。 浏览Default.aspx效果,如图15-28所示。 注意以下几点。 1.在注册后,系统会自动为用户登录。 2.默认情况下密码需要有一定的强度(最短长度为7位,且必须包含1个非字母数字字符),我们可以通过修改Web.config文件来改变这个设定,比如下面的配置段为成员资格指定了一个MyAspNetSqlProvider的Provider,并设定密码最短长度为6位,不需要包含任何非字母数字字符(<system.web>节点下)。 <membership defaultProvider="MyAspNetSqlProvider"> <providers> <add name="MyAspNetSqlProvider" type="System.Web.Security. SqlMembershipProvider" connectionStringName="LocalSqlServer" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" applicationName="/"/> </providers> </membership> 当然,也别忘记指定用于成员资格服务的数据库连接字符串(<configuration>节点下)。 <connectionStrings> <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings> 注意:其他有关成员资格的配置请回顾15.5.1节。 15.6.4 密码恢复控件按照Login控件的PasswordRecoveryUrl属性,新建一个用于密码恢复(取回密码)操作的页面PasswordRecovery.aspx。在页面上放入一个PasswordRecovery控件。整个密码恢复的过程如下。 1.输入用户名。 2.输入该用户密码问题的答案。 3.如果答案正确,那么系统会把新的密码发送到用户的邮箱中。 因此,我们需要在Web.config文件的<configuration>节点下新增SMTP邮件服务器的配置。 <system.net> <mailSettings> <smtp from="发件人的邮件地址"> <network host="SMTP邮件服务器名" port="端口(默认25)" password="" userName="" /> </smtp> </mailSettings> </system.net> 浏览PasswordRecovery.aspx进行密码找回操作,然后你会收到如图15-29所示的一封邮件: 15.6.5 修改密码控件用户在登录后可能还会希望进行密码修改操作,现在就来创建一个ChangePassword.aspx页面,然后在页面上放入一个ChangePassword控件。 <asp:ChangePassword ID="ChangePassword1" runat="server" ContinueDestinationPageUrl= "Default.aspx"/> 在这里,我们设置ContinueDestinationPageUrl属性为Default.aspx,表示在修改密码后让系统转到Default.aspx。修改密码界面如图15-30所示。 15.6.6 其他控件最后,来完成Default.aspx。除了注册、登录和密码操作外,很多时候我们还有一些其他需求,比如下面的操作。 · 为没有登录的用户提供登录操作,为已经登录的用户提供退出操作。 · 显示已经登录的用户名。 · 为已登录和未登录的用户显示不同的信息。 要实现这三个要求同样不需要写任何代码,我们可以分别使用LoginStatus、LoginName和LoginView控件来完成。 · LoginStatus控件会自动根据用户是否登录来显示登录“链接”或者退出“链接”。当然,你也可以把文字换成图片。 · LoginName控件可以按照一定的格式来显示登录的用户名。 · LoginView控件提供了LoggedInTemplate和AnonymousTemplate等模板,LoggedInTemplate模板中的内容会在登录后显示,而AnonymousTemplate模板中的内容会在未登录时显示。 下面,就在页面上添加这三个控件,并做一定的设置。 <asp:LoginStatus ID="LoginStatus1" runat="server" /> <asp:LoginName ID="LoginName1" runat="server" FormatString="您好:{0}"/> <asp:LoginView ID="LoginView1" runat="server"> <LoggedInTemplate> <a href="ChangePassword.aspx">修改密码</a> </LoggedInTemplate> <AnonymousTemplate> <a href="PasswordRecovery.aspx">恢复密码</a> </AnonymousTemplate> </asp:LoginView> 页面效果如图15-31所示。 |
请发表评论