Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / аутентификация пользователя / 15 сообщений из 15, страница 1 из 1
26.07.2004, 14:30
    #32621267
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
пытаюсь разобраться как это можно сделать.
На данный момент у меня есть родительская форма, на которой два текстбокса для ввода логина и пароля, кнопка ок, на которой висит такой обработчик:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        myuser = TextBox1.Text
        mypassword = TextBox2.Text
        SqlConnection1.ConnectionString = "Server=dev03; userid=myuser; password=mypassword; database= schet"
        If SqlConnection1.State = ConnectionState.Open Then
           fmenu.ShowDialog()
        Else
           MsgBox("Неправильно ввели пароль")
        End If
End Sub
Что и как нужно подкорректировать, чтобы заработало :)
...
Рейтинг: 0 / 0
26.07.2004, 14:31
    #32621270
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
да забыла сказать, что аутентификация происходит на уровне SQL Server
...
Рейтинг: 0 / 0
26.07.2004, 14:33
    #32621280
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
должно быть так:
SqlConnection1.ConnectionString = "Server=dev03; userid=" & myuser & "; password=" & mypassword & "; database= schet"
...
Рейтинг: 0 / 0
26.07.2004, 14:35
    #32621287
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
только & надо заменить на + :-)
...
Рейтинг: 0 / 0
26.07.2004, 14:36
    #32621291
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
Чтобы строку составить, надо использовать конкатенацию:
Код: plaintext
1.
SqlConnection1.ConnectionString = "Server=dev03; userid=" & myuser & ";password=" & mypassword & "; database= schet"
А в остальном не понял логику, при чем здесь:

if SqlConnection1.State = ConnectionState.Open
...
Рейтинг: 0 / 0
26.07.2004, 16:03
    #32621560
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
логика в том, что, если пользователь ввел правильно все, тогда открывается форма с меню, а если неправильно, то выдается сообщение об ошибки
...
Рейтинг: 0 / 0
26.07.2004, 16:06
    #32621568
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
2 irinka
Уважаемая, присвоение строки объекту SqlConnection1 не означает, что коннект у вас открывается:)
Поэтому Ваша проверка всегда будет MsgBox("Неправильно ввели пароль").
...
Рейтинг: 0 / 0
26.07.2004, 16:56
    #32621708
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
хорошо
а если написать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim myserver As String = "dev03"
Dim myuser As String
Dim mypassword As String
Dim SqlConnection1 As New System.Data.SqlClient.SqlConnection() 
        myuser = TextBox1.Text
        mypassword = TextBox2.Text
        SqlConnection1.ConnectionString = "Server=" & myserver & "; user id=" & myuser & "; password=" & mypassword & "; database= schet"
        SqlConnection1.Open()
        If SqlConnection1.State = ConnectionState.Open Then
        fmenu.ShowDialog()
        Else
            MsgBox("hhhh")
        End If
...
Рейтинг: 0 / 0
26.07.2004, 19:54
    #32622005
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
авторлогика в том, что, если пользователь ввел правильно все, тогда открывается форма с меню, а если неправильно, то выдается сообщение об ошибки

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim myuser As String = TextBox1.Text
Dim mypassword As String = TextBox2.Text
Try
  If myuser <> "" And mypassword <> "" Then
        SqlConnection1.ConnectionString = "Server=dev03; user id=" & myuser & "; password=" & mypassword & "; database= schet"
        SqlConnection1.Open()
        SqlConnection1.Close()
        fmenu.ShowDialog()
  Else
       MsgBox ("Enter UserName or Password")
  End If
Catch ex As Exception
        MsgBox ("Ups..." & vbCrLf & "Incorrect Password or UserName")
End Try        
...
Рейтинг: 0 / 0
27.07.2004, 08:51
    #32622331
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
2 irinka
Вариант vladgrig по симпатичнее будет :-)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
27.07.2004, 10:35
    #32622539
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
Согласна... :)
Я не волшебник, я только учусь, да простят меня профи :)
...
Рейтинг: 0 / 0
27.07.2004, 11:09
    #32622681
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
А, что, РАБОТАЕТ???
Я из головы написал, и даже не попробовал
...
Рейтинг: 0 / 0
27.07.2004, 11:18
    #32622720
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
А, что, РАБОТАЕТ???
Я из головы написал, и даже не попробовал


Главное идея, а остальное можно и докрутить.
Например, в try catch надо включить только открытие соединения, в finally его закрытие. И в catch не быть столь однозначным по неверности ввода пользователя или пароля. Т.к могут быть и другие причины исключения.
...
Рейтинг: 0 / 0
27.07.2004, 12:02
    #32622856
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
авторНапример, в try catch надо включить только открытие соединения, в finally его закрытие.
Я думал над этим, но, не будет проблем, если соединение не откроется, а мы будем пытаться его закрыть???
А в catch я читал, можно вообще, делать исключения на определённые ошибки, например на один Error одно исключение на другой Error другое и т.д.
Try
...
Catch
...
Catch
.....
End Try
...
Рейтинг: 0 / 0
27.07.2004, 13:42
    #32623230
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аутентификация пользователя
vladgrig
но, не будет проблем, если соединение не откроется, а мы будем пытаться его закрыть???

Нет проблем не будет

Скорее всего здесь будут только SqlException

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / аутентификация пользователя / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]