Hej
Er der nogen som kan hjaelpe mig. Jeg skal lave et differentieret login til skoleprojekt (sidder i USA og laver det) med sessions. Grunden dertil er at naar en bruger logger ind skal de kunne se hvad status er paa deres projekt er.
Min kode paa loginsiden ser indtil videres saadan ud:
Dim strConn As String
Dim objConn As OleDbConnection
Dim objComm As OleDbCommand
Dim objDR As OleDbDataReader
Sub btnLogin_Click(sender As Object, e As EventArgs)
Dim StrSQL as string
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"
strConn += "Data Source=" & Server.Mappath("./db/db.mdb") & ";"
strSQL = "SELECT clientno FROM Clients WHERE clients=" & txtClientno.text & " AND password='" & txtpassword.text & "';"
objConn = new OledbConnection(strConn)
objComm = new OledbCommand(strSQL, objConn)
objConn.Open()
objDR = objComm.ExecuteReader()
If objDR.Read = true Then
Opryd()
Session("SignIn")=txtClientno.text
Response.Redirect("projectstatus.aspx")
Else
strSQL = "SELECT Clientno FROM clients WHERE Clientno=" & txtClientno.text & " AND password='" & txtpassword.text & "';"
objConn = new OledbConnection(strConn)
objComm = new OledbCommand(strSQL, objConn)
objConn.Open()
objDR = objComm.ExecuteReader()
If objDR.Read = true Then
Opryd()
Session("SignIn")=txtclientno.text
Response.Redirect("projectstatus.aspx")
Else
lblErrorMessage.text = "Error in login"
Opryd()
End If
End If
End Sub
Sub Opryd()
objDR.Close()
objConn.Close()
End sub
Nu er mit problem, hvad skal jeg skrive paa Projectstatus.aspx for at det er deres og ikke alle andres projectstatus der bliver vist.
Paa forhaand tak.
Stine
Hej Stine... for det første er metoden du benytter til at tjekke kodeord og username ikke særlig fornuftig.. jeg kan ikke huske det rigtige "hacker" ord for det.. men det er noget lignende "sql projection" .. eksempelvis hvis man indtaster "skod' Or 1=1'" i txtpassword vil den altid returnere noget og man vil blive logget ind... (desuden sletter man normalt adressen til databasen
)
Jeg arbejder til dagligt selv med C#, men det du gør er at du opretter et Session object der hedder "SignIn"... Dette session object gør sig så gældende på serveren ind til brugeren lukker browseren eller timeout tiden gør sig gældene....
Med C# henter man sessionen med
string mySession = (string) Session["SignIn"].ToString();
Jeg kan ikke lige sige helt præsis hvad det er med VB men
Dim mySession as String
mySession = Session["SignIn"]
Hvordan man lige convertere objektet Session til en string med VB aner jeg desværre ikke...
Derfor vil din sql sætning til projectstatus blive noget lignende med VB.net
"Select * from project where user = '& Session["SignIn"] &'"
/Jokke Jensen
[Redigeret d. 13/05-04 01:03:44 af Jacob Jensen]