練習1

  • ログイン

ログイン制限のしたいページをLoginフォルダに格納
system.webの間に

   <authentication mode="Forms">
     <forms loginUrl="Login/WebForm1.aspx" defaultUrl="Login/Success.aspx" />
   </authentication>
   <authorization>
     <allow users="*" />
   </authorization>

system.webの下に

 <location path="Login">
   <system.web>
     <authorization>
       <deny users="?" />
       </authorization>
     </system.web>
   </location>

  • DBへの接続を含めたログイン処理

       Dim con As New MySqlConnection(ConStr)
       Dim cmd As MySqlCommand
       Try
           cmd = New MySqlCommand()
           cmd.Connection = con
           cmd.CommandText = "SELECT * FROM users WHERE UserID =@UserID"
           cmd.Parameters.Add(New MySqlParameter("@UserID", Login1.UserName))
           con.Open()
           Using dr As MySqlDataReader = cmd.ExecuteReader()
               If dr.Read() Then
                   If CType(dr("UserID"), String) = Login1.UserName AndAlso CType(dr("Password"), String) = Login1.Password Then
                       FormsAuthentication.RedirectFromLoginPage(Login1.UserName, False)
                   End If
               End If
           End Using
           con.Close()
       Catch ne As Exception
           MsgBox("エラーです")
       Finally
           If con.State = ConnectionState.Open Then
               con.Close()
           End If
       End Try

  • ポップアップ
OK, Cancelボタン付き
ページロードに

       Button1.Attributes["onclick"]
     = "return confirm('本当に移動しますか?');";

ページ遷移後にポップアップ
ページロード時に条件分岐で

       Dim Str As String = "<script language=javascript> window.alert('さしみ野郎') </script>"
       Page.ClientScript.RegisterStartupScript(Me.GetType(), "script_name", Str)

  • ログインコントローラ

   mports MySql.Data.MySqlClient
   Imports System.Web.UI.WebControls

   Private userManagerValue As UserManager

   userManagerValue = New UserManager()
   Dim userValue As User = userManagerValue.FindUserByUserID(Login1.UserName)
   If userValue.Password = Login1.Password Then
       FormsAuthentication.RedirectFromLoginPage(Login1.UserName, False)
   End If

  • ユーザーマネージャー
       Dim con As New MySqlConnection(ConStr)
       Dim cmd As MySqlCommand
       Try
           cmd = New MySqlCommand()
           cmd.Connection = con
           cmd.CommandText = "SELECT * FROM users WHERE UserID =@UserID"
           cmd.Parameters.Add(New MySqlParameter("@UserID", pUserID))
           con.Open()
           Dim userValue As User = New User()
           Using dr As MySqlDataReader = cmd.ExecuteReader()
               If dr.Read() Then
                   userValue.UserID = CType(dr("UserID"), String)
                   userValue.Name = CType(dr("Name"), String)
                   userValue.Password = CType(dr("Password"), String)
                   userValue.Role = CType(dr("Role"), String)
                   If userValue.Role = "Employee" Then
                       userValue.Mail = ""
                       userValue.ZipCode = ""
                       userValue.Prefecture = ""
                       userValue.Address = ""
                       userValue.Tel = ""
                   Else
                       userValue.Mail = CType(dr("Mail"), String)
                       userValue.ZipCode = CType(dr("ZipCode"), String)
                       userValue.Prefecture = CType(dr("Prefecture"), String)
                       userValue.Address = CType(dr("Address"), String)
                       userValue.Tel = CType(dr("Tel"), String)
                   End If
               End If
           End Using
           con.Close()
           Return userValue
       Catch ne As Exception
           MsgBox("エラーです")
       Finally
           If con.State = ConnectionState.Open Then
               con.Close()
           End If
       End Try
   End Function

タグ:

+ タグ編集
  • タグ:
最終更新:2016年06月02日 00:18