ASP.NET登陆控件最全最详细介绍

Login系列控件是微软为了简化我们的开发过程,为我们进行常规的安全开发提供块捷途径。以上几种控件的底层都与MembershipApi集成的,这几种控件之间是相互独立的,可以单独使用也可以搭配成一个较完整的安全管理。通过使用ASP.NET登陆控件,我们只需要进行简单的设置而无需写一行代码就能提供“注册”、“登录”、“修改密码”和“取回密码”等与账户密切相关的一些操作。

Login控件

属性:

  • DestinationPageUrl 用户登录成功后跳转的网页
  • FailureAction 登录失败进行的操作,Refresh和RedirectToLoginPage两种操作
  • RememberMeSet 设置“记住我”复选控。
  • CreateUserUrl 注册用户帐号的页面
  • HelpPageUrl 说明页面的UR
  • PasswordRecoveryUrl 密码恢复页面的URL

自定义Login控件模板:现有的Login控件可能显得太单调,如果你想自定义登录控件应当如何操作?单击智能标签“转换为模板”,这样就可以设置你自己的控件了。帐号的TextBox的id属性必须设置为:UserName;密码的TextBox的id属性必须设置为:Password;登录按钮的CommandName属性必须设为Login。

Login 控件显示用于执行用户身份验证的用户界面。Login 控件包含用于用户名和密码的文本框和一个复选框,该复选框让用户指示是否需要服务器使用 ASP.NET 成员资格存储他们的标识,并且当他们下次访问该站点时自动进行身份验证。

Login 控件有用于自定义显示、自定义消息的属性和指向其他页的链接,在那些页面中用户可以更改密码或找回忘记的密码。Login 控件可用作主页上的独立控件,或者您还可以在专门的登录页上使用它。

如果您一同使用 Login 控件和 ASP.NET 成员资格,将不需要编写执行身份验证的代码。然而,如果您想创建自己的身份验证逻辑,则您可以处理 Login 控件的 Authenticate 事件并添加自定义身份验证代码。

Login控件的事件:

Login 控件可以使用 Web.config 文件中的设置来自动管理成员资格验证。不过,如果应用程序要求您自定义控件的工作方式,或者您要了解 Login 控件事件与页生命周期的关联方式,可以使用下表中列出的事件。

控件事件 典型使用

  • LoggingIn 在回发期间,当页的 LoadComplete 事件发生后就会引发该事件。它标记登录过程的起点。对必须在验证过程开始前发生的任务使用该事件。
  • Authenticate 该事件在 LoggingIn 事件之后引发。使用该事件来重写或增强 Login 控件的默认验证行为。
  • LoggedIn 该事件在验证用户名和密码后引发。使用该事件来重定向到另一个页或动态设置控件中的文本。如果出现错误或验证失败,就不会发生该事件。
  • LoginError 如果验证失败,将引发该事件。使用该事件来设置控件中的问题解释文本或将用户定向到不同的页。

LoginView 控件

使用 LoginView 控件,可以向匿名用户和登录用户显示不同的信息。该控件显示以下两个模板之一:AnonymousTemplateLoggedInTemplate。在这些模板中,您可以分别添加为匿名用户和经过身份验证的用户显示适当信息的标记和控件。

另外LoginView控件还可以根据不同的角色创建不同的模板。选择智能标签的“编辑RoleGroups”可以添加新的模板,然后在视图中选择要编辑的角色模板就可以定义角色模板的样式了。注意:如果一个用户有多个角色的话,那么,当他登录后就会LoginView控件显示他的第一个角色所对应的模板,而不是显示他所有角色的模板。

LoginView 控件还包括 ViewChanging 和 ViewChanged 的事件,您可以为这些事件编写当用户登录和更改状态时的处理程序。

LoginStatus 控件

LoginStatus控件是个超链接,未登录的时候显示“登录”,登录以后显示“注销”,以提示用户登录或注销,其背后的运作原理是Request.IsAuthentication或User.Identity.IsAuthenticated作为判断依据。如果登录失败则转到Web.Config文件中指定的页面,如果登录成功则转到LoginStatus控件所在的网页。可以通过设置 LoginText 和 LoginImageUrl 属性自定义 LoginStatus 控件的外观。

属性:

  • LoginText:设置或获取登录文字
  • LogoutText:设置或获取注销文字
  • LoginImageUrl:设置登录超链的图片。
  • LogoutImageUrl:设置注销超链的图片。
  • LogoutAction:注销后的操作,Refresh、Redirect、RedirectToLoginPage
  • LogoutPageUrl:如果LogoutAction属性设为Redirect,则注销后转到LogoutPageUrl所设置的网址

LoginName 控件

如果用户已使用 ASP.NET 成员资格登录,LoginName 控件将显示该用户的登录名。或者,如果站点使用集成 Windows 身份验证,该控件将显示用户的 Windows 帐户名。

PasswordRecovery 控件

PasswordRecovery 控件允许根据创建帐户时所使用的电子邮件地址来找回用户密码。PasswordRecovery 控件会向用户发送包含密码的电子邮件。

您可以配置 ASP.NET 成员资格,以使用不可逆的加密来存储密码。在这种情况下,PasswordRecovery 控件将生成一个新密码,而不是将原始密码发送给用户。

您还可以配置成员资格,以包括一个用户为了找回密码必须回答的安全提示问题。如果这样做,PasswordRecovery 控件将在找回密码前提问该问题并核对答案。

PasswordRecovery 控件要求您的应用程序能够将电子邮件转发给简单邮件传输协议 (SMTP) 服务器。您可以通过设置 MailDefinition 属性自定义发送给用户的电子邮件的文本和格式。(说明: 电子邮件中的密码信息是以明文形式发送的。)

CreateUserWizard 控件

CreateUserWizard控件提供了一个用户注册的界面,它是一个向导控件,可以自己套用样式,该控件说简单,它也简单,说复杂也真够复杂的。只所以说它简单,是因为当你只是创建简单的注册页面时,将它拖到页面上设置一下样式就可以使用了。要说它复杂呢,是因为它的灵活性太强了,你可以自定义模板,加入自己的一些用户个性化信息。
CreateUserWizard 控件收集潜在用户提供的信息。默认情况下,CreateUserWizard 控件将新用户添加到 ASP.NET 成员资格系统中。

CreateUserWizard 控件收集下列用户信息:用户名、密码、密码确认、电子邮件地址、安全提示问题、安全答案。此信息用来对用户进行身份验证并找回用户密码(如果需要的话)。(说明: CreateUserWizard 控件从 Wizard 控件继承。)

ChangePassword 控件

当用户忘记密码的时候可以通过系统的安全问题,若回答正确系统就会自动寄一封Email给该帐户的用户,里面附有密码。这种功能先决条件是你的网站要用SMTP服务设置

在Web.Config中设置:

<system.net>
	<mailSettings>
		<smtp from="[email protected]">
			<network host="192.168.1.2" password="" userName="" />
		</smtp>
	</mailSettings>
</system.net>
//或者“网站”-“asp.net配置”,开asp.net web应用程序管理器,
//再选择“应用程序”-“配置SMTP电子邮件设置”,在新的页面中设置你的邮件内容就可以了。

通过 ChangePassword 控件,用户可以更改其密码。用户必须首先提供原始密码,然后创建并确认新密码。如果原始密码正确,则用户密码将更改为新密码。该控件还支持发送关于新密码的电子邮件。

ChangePassword 控件包含显示给用户的两个模板化视图。第一个模板是ChangePasswordTemplate,它显示用来收集更改用户密码所需的数据的用户界面。第二个模板是 SuccessTemplate,它定义当用户密码更改成功以后显示的用户界面。

ChangePassword 控件由通过身份验证和未通过身份验证的用户使用。如果用户未通过身份验证,该控件将提示用户输入登录名。如果用户已通过身份验证,该控件将用用户的登录名填充文本框。

发布了31 篇原创文章 · 获赞 36 · 访问量 7264

猜你喜欢

转载自blog.csdn.net/weixin_44337241/article/details/104991289
今日推荐