DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ユーザー認証

  • 題名: ユーザー認証
  • 著者: カズ
  • 日時: 2005/10/02 3:43:29
  • ID: 13062
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[ASP.NET]
分類:[ASP.NET]

はじめまして。
初心者なのでうまく説明できるかわからないのですが、できるだけ
詳しく書くつもりなのでよろしくお願いします。

ASP.NET(VB)でユーザー認証のページを作ってるのですが、
どうしてもうまくいきません。
login.aspxというページにログイン画面(ユーザー名とパスワードを入れる)
作ってlogin.aspx.vbにそのコードを書いています。
ユーザー情報はアクセスのデータベースに入っています。

以下が実際のlogin.aspx.vbのコードなのですが、正しいユーザ名とパスを
入れてるのにincorrect or invalid Emailのエラーになってしまいます。

どなたかどこが間違ってるか教えていただけませんか?
また、このような方法での認証のサンプルがあるサイトを教えていただけませんか?


Private Sub btnSign_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSign.Click


Dim ConnStr As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/WebApplication1/Data.mdb") & ";"
Dim MyConnection As New OleDbConnection(ConnStr)
Dim QueryString As String
Dim MyCmd As New OleDbCommand(QueryString, MyConnection)
Dim myReader As OleDbDataReader

QueryString = "select * from UserDetail"
MyCmd.CommandText = QueryString

MyConnection.Open()

myReader = MyCmd.ExecuteReader()
myReader.Read()
passwords.Add(myReader("Email"), myReader("PassCode"))

If login.Value <> "" And password.Value <> "" Then

login.Value = Trim(login.Value)
If passwords.ContainsKey(login.Value) = True Then

If passwords(login.Value) <> password.Value Then
Session.Abandon()
lblError.Text = "incorrect password"
Return (False)
Else
Session("login") = login.Value
lblError.Text = "user logged in successfully with password."
Return (True)
End If
Else
Session.Abandon()
lblError.Text = "incorrect or invalid Email"
Return (False)
End If
Else
Session.Abandon()
Return (False)
End If
End Function


myReader.Close()


MyConnection.Close()

End Sub
  • 題名: Re[1]: ユーザー認証
  • 著者: trapemiya
  • 日時: 2005/10/02 8:26:57
  • ID: 13063
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> myReader.Read()
> passwords.Add(myReader("Email"), myReader("PassCode"))

myReader("Email").ToString(), myReader("passCode").ToString()のようになりませんか?
また、レコードを1件しか読んでいないのですが、これでいいのでしょうか?

ADO.NET で SELECT 文の結果を取得する
http://jeanne.wankuma.com/tips/sqlserver/03-executereader.html

#通常は、select文にユーザー名とパスワードを設定して読みにいき、読めたら認証OKにします。ストアドプロシージャで書けば、SQLインジェクションも防げるのでなお良いです。

DOBON.NET | プログラミング道 | プログラミング掲示板