ASP.Net/Development/Authentication

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Basic Authentication (C#)

   <source lang="csharp">

<%--


<html> <head>

 <script language="C#" runat="server">
   void Page_Load(Object Src,EventArgs E)
   {
       lblUser.Text = User.Identity.Name;
       lblType.Text = User.Identity.AuthenticationType;
   }
 </script>

</head> <body>

   
Windows Authentication
Current Users Name <asp:label id=lblUser runat=server/>
Current Authentication Type <asp:label id=lblType runat=server/>

</body> </html> --%> <%-- web.config <configuration>

 <system.web>
   <authentication mode="Windows" />
 </system.web>

</configuration> --%>


      </source>
   
  


Context User Identity Name (VB.net)

   <source lang="csharp">

<%@ Page Language="vb" %> <html>

  <head>
     <title>Context property example</title>
     <script runat="server">
        Sub Page_Load()
           Message.Text = "Currently logged in as: " & _
              Context.User.Identity.Name
        End Sub
     </script>
  </head>

<body>

  <asp:label id="Message" runat="server"/>

</body> </html>

      </source>
   
  


Displaying the authentication status in ASP.NET

   <source lang="csharp">

<%@ Page Language="vb" %> <html>

  <head>
     <title>Displaying the authentication status in ASP.NET</title>
  </head>

<body>

<% Dim boolAuth As Boolean boolAuth = Request.IsAuthenticated If boolAuth Then Response.Write("User " & Page.User.Identity.Name & " is authenticated.") Else Response.Write("Current user is not authenticated.") End If %>

</body> </html>

      </source>
   
  


Form and database based authentication (C#)

   <source lang="csharp">

<%-- login.aspx <%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security " %> <%@ Import Namespace="System.Data.OleDb" %> <html> <head> <script language="C#" runat=server>

 void Login_Click(Object Src, EventArgs E)
 {
   if (Page.IsValid)
   {
 String strConn ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("DBAuth.mdb") + ";";
 OleDbConnection Conn = new OleDbConnection(strConn) ;
 Conn.Open(); 
 String strSQL = "SELECT Pwd FROM Tbl_MA_Users WHERE Email = "" + txtEmail.Text + """;
 OleDbCommand Cmd = new OleDbCommand(strSQL,Conn);
 //Create a datareader, connection object
 OleDbDataReader Dr = Cmd.ExecuteReader(System.Data.rumandBehavior.CloseConnection);
 //Get the first row and check the password.
 if (Dr.Read())
 {
   if (Dr["Pwd"].ToString() == txtPwd.Text)
     FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false);
   else
     lblLoginMsg.Text = "Invalid password.";
 }
 else
   lblLoginMsg.Text = "Login name not found.";
 Dr.Close();
   }
 }

</script> </head> <body> <form runat="server">

Using Form based Authentication


Users Name:
<asp:textbox id="txtEmail" runat=server />  * <asp:RequiredFieldValidator

 ControlToValidate="txtEmail"
 Display="Dynamic" 
 ErrorMessage="Login name can"t be empty." 
 runat=server/>


Password:
<asp:textbox TextMode="Password" id="txtPwd" runat=server />

  *
 <asp:RequiredFieldValidator 
   ControlToValidate="txtPwd" 
   Display="Dynamic" 
   ErrorMessage="Password can"t be left empty." 
   runat=server/>


<asp:Label

 id="lblLoginMsg" 
 ForeColor="Red" 
 Font-Name="Verdana";   
 Font-Size="10" 
 runat=server />

<b /> <asp:button

 id="btnLogin" 
 Text="Login"
 OnClick="Login_Click" 
 runat=Server />

</form> </body> </html> --%> <%-- default.aspx <%@ Import Namespace="System.Web.Security " %> <html> <head> <script language="C#" runat=server>

 void Page_Load(Object S, EventArgs E)
 {
   lblUser.Text = User.Identity.Name;
   lblType.Text = User.Identity.AuthenticationType;
 }
 void Logout_Click(Object S, EventArgs E)
 {
   FormsAuthentication.SignOut();
   Server.Transfer("login.aspx");
 }

</script> </head> <body> <form runat="server">

   
Forms Authentication With a Database
Current Users Name <asp:label id=lblUser runat=server/>
Current Authentication Type <asp:label id=lblType runat=server/>
 <asp:button text="Logout" OnClick="Logout_Click" runat=server/>

</form> </body> </html> --%> <%-- web.config <configuration>

 <system.web>
   <authentication mode="Forms">         
     <forms name=".MyDemo" loginUrl="login.aspx" 
     protection="All" timeout="20" />
   </authentication>
   <authorization>         
     <deny users="?" />
   </authorization>
 </system.web>

</configuration> --%>

      </source>
   
  

<A href="http://www.nfex.ru/Code/ASPDownload/AuthenticationFormsDB.zip">AuthenticationFormsDB.zip( 10 k)</a>


Form based login (C#)

   <source lang="csharp">

<%-- login.aspx


<%@ Import Namespace="System.Web.Security " %> <html> <head> <script language="C#" runat=server>

 void Login_Click(Object Src, EventArgs E)
 {
   if (Page.IsValid)
   {
     if (txtEmail.Text == "email" && txtPwd.Text == "MyPass")
       FormsAuthentication.RedirectFromLoginPage(txtEmail.Text,false);
     else
       lblLoginMsg.Text = "Use "email" as user name and password as MyPass. Please try again";
   }
 }

</script> </head> <body> <form runat="server">

Using Form based Authentication


Users Name:
<asp:textbox id="txtEmail" runat=server />  * <asp:RequiredFieldValidator

 ControlToValidate="txtEmail"
 Display="Dynamic" 
 ErrorMessage="Login name can"t be empty." 
 runat=server/>


Password:
<asp:textbox TextMode="Password" id="txtPwd" runat=server />

  *
 <asp:RequiredFieldValidator 
   ControlToValidate="txtPwd" 
   Display="Dynamic" 
   ErrorMessage="Password can"t be left empty." 
   runat=server/>


<asp:Label

 id="lblLoginMsg" 
 ForeColor="Red" 
 Font-Name="Verdana";   
 Font-Size="10" 
 runat=server />

<b /> <asp:button

 id="btnLogin" 
 Text="Login"
 OnClick="Login_Click" 
 runat=Server />

</form> </body> </html>

--%>

<%-- default.aspx <%@ Import Namespace="System.Web.Security " %> <html> <head> <script language="C#" runat=server>

 void Page_Load(Object S, EventArgs E)
 {
   lblUser.Text = User.Identity.Name;
   lblType.Text = User.Identity.AuthenticationType;
 }
 void Logout_Click(Object S, EventArgs E)
 {
   FormsAuthentication.SignOut();
   Server.Transfer("login.aspx");
 }

</script> </head> <body> <form runat="server">

   
Forms Authentication
Current Users Name <asp:label id=lblUser runat=server/>
Current Authentication Type <asp:label id=lblType runat=server/>
 <asp:button text="Logout" OnClick="Logout_Click" runat=server/>

</form> </body> </html> --%>

<%-- web.config <configuration>

 <system.web>
   <authentication mode="Forms">         
     <forms name=".MyDemo" loginUrl="login.aspx" 
     protection="All" timeout="60" />
   </authentication>
   <machineKey validationKey="AutoGenerate" 
   decryptionKey="AutoGenerate" validation="SHA1"/>
   <authorization>         
     <deny users="?" />
   </authorization>
 </system.web>

</configuration> --%>


      </source>
   
  

<A href="http://www.nfex.ru/Code/ASPDownload/AuthenticationForms.zip">AuthenticationForms.zip( 1 k)</a>


Get current user name and Authentication Type (VB.net)

   <source lang="csharp">

<html> <head>

<script language="vb" runat="server">
 Sub Page_Load(Src As Object, E As EventArgs)
   lblUser.Text = User.Identity.Name
   lblType.Text = User.Identity.AuthenticationType
 End Sub
</script>

</head> <body>

 
Windows Authentication
Current Users Name <asp:label id=lblUser runat=server/>
Current Authentication Type <asp:label id=lblType runat=server/>

</body> </html>

      </source>
   
  


User.Identity.IsAuthenticated (VB.net)

   <source lang="csharp">

<%@ Page Language="vb" %> <html>

  <head>
     <title>User property example</title>
     <script runat="server">
        Sub Page_Load()
           Message.Text = "Authenticated: " & User.Identity.IsAuthenticated & "
" Message.Text &= "User Name: " & User.Identity.Name End Sub </script> </head>

<body>

  <asp:label id="Message" runat="server"/>

</body> </html>

      </source>
   
  


User.Identity.Name (VB.net)

   <source lang="csharp">

<%@ Page Language="vb" %> <html>

  <head>
     <title>User property example</title>
     <script runat="server">
        Sub Page_Load()
           Message.Text = "Authenticated: " & User.Identity.IsAuthenticated & "
" Message.Text &= "User Name: " & User.Identity.Name End Sub </script> </head>

<body>

  <asp:label id="Message" runat="server"/>

</body> </html>

      </source>