ASP.Net/Login Security/Membership

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

Displaying the number of users online

   <source lang="csharp">

<%@ Page Language="C#" %> <script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
     Label1.Text = Membership.GetNumberOfUsersOnline().ToString();
  }

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Login or Logout</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:LoginStatus ID="LoginStatus1" Runat="server" />

<asp:LoginName ID="LoginName1" Runat="server" Font-Bold="True" Font-Size="XX-Large" />

There are <asp:Label ID="Label1" Runat="server" Text="0" /> users online.

   </form>

</body> </html>

</source>
   
  


Membership.CreateUser

   <source lang="csharp">

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="AddUser_aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
   UserID<asp:TextBox ID="txtUserID" runat="server"></asp:TextBox>
   Password<asp:TextBox ID="txtPassword1" runat="server" TextMode="Password"></asp:TextBox>
   Confirm Password<asp:TextBox ID="txtPassword2" runat="server" TextMode="Password"></asp:TextBox>
   Security Question<asp:TextBox ID="txtQn" runat="server"></asp:TextBox>
   Answer<asp:TextBox ID="txtAns" runat="server"></asp:TextBox>
   Email<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
  <asp:Button ID="btnAddUser" runat="server" Text="Add User" />
</form>

</body> </html> File: Default.aspx.vb Imports System.Web.Security Partial Class AddUser_aspx

   Inherits System.Web.UI.Page
   Protected Sub btnAddUser_Click(ByVal sender As Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles btnAddUser.Click
       Dim IsCreated As MembershipCreateStatus
       If (txtPassword1.Text = txtPassword2.Text) Then
           Membership.CreateUser(txtUserID.Text, txtPassword1.Text, _
             txtEmail.Text, txtQn.Text, txtAns.Text, True, IsCreated)
           Response.Write("Add user: " & IsCreated.ToString)
       Else
           Response.Write("Passwords do not match")
       End If
   End Sub

End Class

</source>
   
  


Membership.GetUser

   <source lang="csharp">

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Default_aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:LoginView ID="LoginView1" runat="server">
           <LoggedInTemplate>
               You are logged in as
               <asp:LoginName ID="LoginName1" runat="server" />
               <asp:LoginStatus ID="LoginStatus2" runat="server" />
           </LoggedInTemplate>
           <AnonymousTemplate>
               <asp:LoginStatus ID="LoginStatus1" runat="server" />
           </AnonymousTemplate>
       </asp:LoginView>
       <asp:PasswordRecovery ID="PasswordRecovery1" 
                             runat="server" 
                             BorderWidth="1px" 
                             BorderColor="Black"
                             BorderStyle="Solid">
           <MailDefinition From="a@a.ru" Subject="Your password request"/>
           <TitleTextStyle ForeColor="#FFFFFF" Font-Bold="True" BackColor="#6B696B" />
       </asp:PasswordRecovery>
   </form>

</body> </html> File:Default.aspx.vb Partial Class Default_aspx

   Inherits System.Web.UI.Page
   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       If Membership.GetUser IsNot Nothing Then
           Response.Write("Time is " & Now)
       End If
   End Sub

End Class

</source>
   
  


User info

   <source lang="csharp">

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="UserInfo_aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
UserID
                   <asp:TextBox ID="txtUserID" runat="server"></asp:TextBox>
Current Password
                   <asp:TextBox ID="txtCurrentPassword" runat="server" TextMode="Password"></asp:TextBox>
New Password
                   <asp:TextBox ID="txtNewPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:Button ID="btnChangePassword" runat="server" Text="Change Password"/>
Password Question
                   <asp:TextBox ID="txtPasswordQuestion" runat="server"></asp:TextBox>
                   <asp:Button ID="btnChangePasswordQuestion" runat="server" Text="Change Question"
UseSubmitBehavior="False" />
Password Answer
                   <asp:TextBox ID="txtPasswordAnswer" runat="server"></asp:TextBox>
Email
                   <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:Button ID="btnUpdateEmail" runat="server" Text="Update Email"/>
   </form>

</body> </html> File: Default.aspx.vb

Partial Class UserInfo_aspx

   Inherits System.Web.UI.Page
   Protected Sub Page_Load(ByVal sender As Object, _
                           ByVal e As System.EventArgs) _
                           Handles Me.Load
       Dim user As MembershipUser
       user = Membership.GetUser
       Response.Write("You last login on: " & user.LastLoginDate & "
") Response.Write("Your account was created on: " & user.CreationDate & "
") Response.Write("Your password was last changed on: " & user.LastPasswordChangedDate & "
") If Not IsPostBack Then txtUserID.Text = user.UserName.ToString txtPasswordQuestion.Text = user.PasswordQuestion txtEmail.Text = user.Email End If End Sub Protected Sub btnChangePassword_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles btnChangePassword.Click Dim user As MembershipUser = Membership.GetUser If txtCurrentPassword.Text <> "" And _ (txtNewPassword.Text <> txtCurrentPassword.Text) And txtNewPassword.Text <> "" Then If user.ChangePassword(txtCurrentPassword.Text, txtNewPassword.Text) Then displayMessage("Password Changed.") Else displayMessage("Password Changed Failed.") End If Else displayMessage("Required fields missing") End If End Sub
   Private Sub displayMessage(ByVal str As String)
       Response.Write(str)
   End Sub
   Protected Sub btnChangePasswordQuestion_Click( _
                 ByVal sender As Object, _
                 ByVal e As System.EventArgs) _
                 Handles btnChangePasswordQuestion.Click
       Dim user As MembershipUser = Membership.GetUser
       If txtCurrentPassword.Text <> "" And _
          txtPasswordQuestion.Text <> "" And _
          txtPasswordAnswer.Text <> "" Then
           If user.ChangePasswordQuestionAndAnswer( _
              txtCurrentPassword.Text, _
              txtPasswordQuestion.Text, _
              txtPasswordAnswer.Text) Then
               displayMessage("Password Question Changed.")
           Else
               displayMessage("Password Question Failed.")
           End If
       Else
           displayMessage("Required fields missing")
       End If
   End Sub
   Protected Sub btnUpdateEmail_Click(ByVal sender As Object, _
                                      ByVal e As System.EventArgs) _
                                      Handles btnUpdateEmail.Click
       Dim user As MembershipUser = Membership.GetUser
       user.Email = txtEmail.Text
       Membership.UpdateUser(user)
       displayMessage("Email Updated.")
   End Sub

End Class

</source>