熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET 3.5中的Login控件應用vb.net實現

2013-11-13 10:20:52  來源: .NET編程 

  The ASPNET login controls provide a robust login solution for ASPNET Web applications without requiring programming By default login controls integrate with ASPNET membership and forms authentication to help automate user authentication for a Web site It provides you with a readytouse user interface that queries the user name and password from the user and offers a Log In button for login It validate user credentials against the membership API and encapsulating the basic froms authentication functionality like redirecting back to the original requested page in a restricted area of you application after the successful login

  The Login control displays a user interface for user authentication The Login control contains text boxes for the user name and password and a check box that allows users to indicate whether they want the server to store their identity using ASPNET membership and automatically be authenticated the next time they visit the site

  The Login control has properties for customized display for customized messages and for links to other pages where users can change their password or recover a forgotten password The Login control can be used as a standalone control on a main or home page or you can use it on a dedicated login page If you use the Login control with ASPNET membership you do not need to write code to perform authentication However if you want to create your own authentication logic you can handle the Login controls Authenticate event and add custom authentication code

  Note Login controls might not function correctly if the Method of the ASPNET Web page is changed from POST (the default) to GET

  Start Microsoft Visual Studio

  Create a new ASPNET WebSite using Visual Basic Like this:




Drag and drop Login control on page from ToolBox





Figure
Whenever user hits the Log In button the control automatically validates the user name and password using the membership API function MembershipValidateUse() and then calls FormAuthenticationredirectFromLoginPage() if the validation was successful All options on the UI of the LoginControl affect the input delivered by the control to these methods For Example if you click the Remember me next time check box it passes the value true to the createPresistentCookie parameter of the RedirectFromLoginPage() method Therefore the FormAuthenticateModule creates a persistent cookie
There are three Login Tasks by default
Auto Format you can select default schemes
Convert To Template You can edit content of Login Control
Administer Website   You can configure Web Site Administration Tools Like Security Application Provider

   

  Figure

  <form id=form runat=server>

  <div>

  <asp:Login ID=Login runat=server BackColor=#FFDE BorderColor=#CCCC BorderStyle=Solid BorderWidth=px FontNames=Verdana FontSize=pt>

  <TitleTextStyle BackColor=#BB FontBold=True ForeColor=#FFFFFF />

  </asp:Login>

  </div>

  </form>

  You can change styles of LoginControl using css too  Like this:

  LoginControl

  {

  backgroundcolor:#FFDE;

  bordercolor:#CCCC;

  borderstyle:solid;

  borderwidth:px;

  fontfamily:Verdana;

  fontsize:px;    

  }

  

  And now apply css to control:

  <html xmlns=>

  <head runat=server>

  <title>Login Control</title>

  <link type=text/css rel=Stylesheet />

  </head>

  <body>

  <form id=form runat=server>

  <div>

  <asp:Login ID=Login runat=server CssClass=LoginControl>

  <TitleTextStyle BackColor=#BB FontBold=True ForeColor=#FFFFFF />

  </asp:Login>

  </div>

  </form>

  </body>

  </html>

  If you running the page and if the CSS file is placed in a directory where anonymous access is denied the add the following configuration for the CSS file to you nfig file 

  <location path=StyleSheetcss>

  <systemweb>

  <authorization>

  <allow users=*/>

  </authorization>

  </systemweb>

  </location> 

  You can add several hyperlinks to your Login control such as hyperlink to a help text page or a hyperlink to to a registration page

  <asp:Login ID=Login runat=server CssClass=LoginControl

  CreateUserText=Register

  CreateUserUrl=~/Registeraspx

  HelpPageText=Additional Help HelpPageUrl=~/Helpaspx

  InstructionText=Please enter your user name and password for login>

  <TitleTextStyle BackColor=#BB FontBold=True ForeColor=#FFFFFF />

  </asp:Login>

  

  Looks like this :

  

  Here is VB Code:

  Imports System

  Imports SystemCollectionsGeneric

  Imports SystemLinq

  Imports SystemWeb

  Imports SystemWebUI

  Imports SystemWebUIWebControls

  Imports SystemDataSqlClient

   

  Partial Class _Default

  Inherits SystemWebUIPage

   

  Protected Sub Page_Load(ByVal sender As Object ByVal e As SystemEventArgs) Handles MeLoad

  If Not MeIsPostBack Then

  ViewState(LoginErrors) =

  End If

  End Sub

   

  Protected Sub Login_Authenticate(ByVal sender As Object ByVal e As AuthenticateEventArgs)

  If YourValidationFunction(LoginUserName LoginPassword) Then

   eAuthenticated = true;

  LoginVisible = False

  MessageLabelText = Successfully Logged In

  Else

  eAuthenticated = False

  End If

  End Sub

   

  Protected Sub Login_LoginError(ByVal sender As Object ByVal e As EventArgs)

  If ViewState(LoginErrors) Is Nothing Then

  ViewState(LoginErrors) =

  End If

   

  Dim ErrorCount As Integer = CInt(ViewState(LoginErrors)) +

  ViewState(LoginErrors) = ErrorCount

   

  If (ErrorCount > ) AndAlso (LoginPasswordRecoveryUrl <> StringEmpty) Then

  ResponseRedirect(LoginPasswordRecoveryUrl)

  End If

  End Sub

   

  Private Function YourValidationFunction(ByVal UserName As String ByVal Password As String) As Boolean

  Dim boolReturnValue As Boolean = False

  Dim strConnection As String = server=;database=Vendor;uid=sa;pwd=wintellect;

  Dim sqlConnection As New SqlConnection(strConnection)

  Dim SQLQuery As String = SELECT UserName Password FROM Login

  Dim command As New SqlCommand(SQLQuery sqlConnection)

  Dim Dr As SqlDataReader

  sqlConnectionOpen()

  Dr = commandExecuteReader()

  While DrRead()

  If (UserName = Dr(UserName)ToString()) And (Password = Dr(Password)ToString()) Then

  boolReturnValue = True

  End If

  DrClose()

  Return boolReturnValue

  End While

  Return boolReturnValue

  End Function

  End Class

  

  If you insert wrong username and password then message will show like this:

  

  If you insert correct usename password then redirect your page whereever you want

  or you can show message in ErrorLabel like this:

  

  I am attaching my database with application in App_Data folder if u want to use my database then attach my MDF file

  Any question and queries ask me any time

  If you believe an article violates your rights or the rights of others please contact us


From:http://tw.wingwit.com/Article/program/net/201311/13326.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.