ASP.NET 2.0中的登陆控件简介
|
asp.net 2.0中,新增了许多新的功能和控件。其中,新增的登陆控件可谓使得WEB应用的设计更加得心应手。什么是登陆控件呢?就是我们平常在WEB应用中经常要用到的用户注册,登陆,忘记密码,登陆后根据权限的不同而显示不同的页面等功能,现在在asp.net 2.0中都已经可以由提供的控件来实现了。ASP.NET 2.0中的登陆控件比较多,封装了大部分WEB应用中要实现系统登陆的系列功能,涉及到很多方面,本文将简单介绍一下它们的主要功能。
首先,asp.net 2.0中,为了更方便创建和管理用户,以及对 Web 应用程序中的页进行密码保护,引进了新的框架membership。新的框架包含用于处理身份验证和授权的新增功能,能够同时满足 Web 站点管理员和开发人员的需要。Web 站点管理员可以利用新的 Web 站点管理工具来创建新的用户和角色,以及控制对 Web 应用程序中页面的访问。Web 站点管理工具是一组预先编写的 ASP.NET页,不具备编程技巧的用户可以使用它们来配置 Web 应用程序。利用membership API,编程人员可以很方便地使用拖拉控件的方法,再加以少量的代码,就可以完全实现对用户,角色权限等的管理,还可以自定义做扩充。 其中,membership框架中包含了两个默认的用户验证程序:默认的 AccessMembershipProvider以及 SqlMembershipProvider。如果希望在 Microsoft SQL Server 数据库中存储成员身份信息,则可以将应用程序配置为使用 SqlMembershipProvider,如果要使用access数据库,则使用AccessMembershipProvider。还可以创建自定义成员身份提供程序。例如,如果需要在 XML 文件、或 Oracle 数据库中存储成员身份信息,希望创建自己的成员身份提供程序,则需要实现抽象类MembershipProvider 的所有方法和属性。本文中,将以access数据库为例子做说明,所以使用Accessmembershipprovider。 我们可以使用asp.net 2.0自带的WEB站点安全配置工具,就可以无需编程,在系统向导的带领下,自动建立一个存储用户角色身份的数据库了。比如,我们现在需要建立一个access的数据库,里面存储用户名,密码,密码提示问题,用户EMAIL等资料,则可以通过web站点安全配置工具来实现。步骤如下: 1)先使用visual studio express 2005建立一个WEB站点,命名为Dorknozzle,使用VB.NET语言,之后,我们点选Visual studio express中的WebSite菜单中的ASP.NET Configuration,这时会弹出一个新的页面窗口,其中选择Security选项,如下图: |
![]() |
![]() |
| <form runat="server"> Welcome <asp:LoginName id="lnUser" runat="server"/>, your login was successful!<br /><br /> <asp:LoginStatus id="lsUSer" runat="server"/> </form> |
![]() |
| <asp:LoginView id="lvDorknozzle" runat="server"> <LoggedInTemplate> Welcome <asp:LoginName id="lnUser" runat="server"/> </LoggedInTemplate> <AnonymousTemplate> Welcome to the Dorknozzle site!<br /> Please click on the New User link to register on our site. </AnonymousTemplate> </asp:LoginView> |
![]() |
![]() |
| <asp:CreateUserWizard id="CreateUserWizard1" runat="server"> <MailDefinition BodyFileName="NewUserEmail.txt" From="welcome@dorknozzle.com" Subject="Welcome to the Dorknozzle site!"/> </asp:CreateUserWizard> |
| <configuration> <system.web> <authentication mode="Forms"/> <smtpMail serverName="Localhost"/> </system.web> </configuration> |
| <asp |
![]() |
![]() |
| <asp <MailDefinition BodyFileName="forgotpassword.txt" From="helpdesk@dorknozzle.com" Subject="Word has it, you forgot your password?"/> </asp |
| Number of Users Online: <asp:Label id="lblNumUsersOnline" runat="server"/> |
| Sub Page_Load(s As Object, e As EventArgs) Handles MyBase.Load lblNumUsersOnline.Text = _ Membership.GetNumberOfUsersOnline().ToString() End Sub |
| <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> |
| gvUsers.DataSource = Membership.GetAllUsers() ; gvUsers.DataBind(); |
![]() |









