我正在 VB 中制作一个使用 MySQL 作为数据库的应用程序。我有一个frmMain
和一个名为frmLogin
. 当我登录时,如果用户输入了正确的用户名和密码,登录表单会检查数据库。我希望他们返回frmMain
并将信息(例如,id、登录名和角色)作为字符串(或更安全的东西)传递,frmMain
但我不知道最好的方法是什么。
这是我的代码frmLogin
(我知道 sql 注入):
Private Sub btnLogin_Click(sender As System.Object, e As System.EventArgs) Handles btnLogin.Click
Dim loginResult As String
If String.IsNullOrEmpty(TextGebruikersNaam.Text) Or String.IsNullOrEmpty(TextGebruikersPass.Text) Then
MsgBox("Voer uw gebruikersnaam en wachtwoord in om in te loggen. ", MsgBoxStyle.Exclamation, "Foutmelding")
TextGebruikersNaam.Focus()
Else
Dim newPass As String
newPass = HashString.getSHA1Hash(TextGebruikersPass.Text)
loginResult = SQLHook.Counter("SELECT COUNT(*) FROM tblgebruikers WHERE GebruikersNaam='" & TextGebruikersNaam.Text.Replace("'", "''") & "' AND GebruikersPass='" & newPass.Replace("'", "''") & "'")
If loginResult = 1 Then
' Login is cewl, now set some strings and unload this form so user
' could continue on frmMain.
Else
MsgBox("De gebruikersnaam of wachtwoord is onjuist.", MsgBoxStyle.Exclamation, "Foutmelding")
TextGebruikersPass.Text = ""
TextGebruikersPass.Focus()
End If
End If
End Sub
是否有安全的方法来设置带有用户名和角色的(例如)字符串(在数据库内部也作为“GebruikersRole”行。
感谢您的帮助。