как разрешить администратору и клиенту войти в одно и то же место, но сразу после нажатия кнопки перейти на другую страницу? - PullRequest
0 голосов
/ 28 декабря 2011

у меня есть 2 текстовых поля для имени и пароля и кнопка

там 2 таблицы, один администратор и один клиент

после того, как я ввожу имя клиента и пароль, он проверяет, пустой или неправильныйпароль, если он верен, он перейдет на страницу клиента

, однако, если я введу имя администратора и пароль и после проверки он должен перейти на страницу администратора

, я могу разрешить использовать только одну таблицудля входа в систему?так как мне изменить код ниже?

Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
    If String.IsNullOrEmpty(txtName.Text) Or String.IsNullOrEmpty(txtPassword.Text) Then
        Failure.Text = "Invalid User Name and Password. Try Again."
        Exit Sub
    End If

    Dim connectionString = ConfigurationManager.ConnectionStrings("MYdatabase").ConnectionString
    Dim myConn As New SqlConnection(connectionString)
           Dim cmd = "Select * From Customer  where name = @name"
           Dim my As New SqlCommand(cmd, myConn)

    my.Parameters.AddWithValue("@name", txtName.Text)
    Dim objReader As SqlDataReader


    myConn.Open()
    objReader = myCmd.ExecuteReader()

    FailureText.Text = " "

    If objReader.Read() Then
        Dim pass As String = objReader.GetString(2)
        Dim cusId As Integer = objReader.GetValue(0)

        If pass = txtPassword.Text Then
            Failure.Text = "Login Successful"
            Session("name") = txtName.Text
            Session("Password") = txtPassword.Text
            Session("customerID") = cusId

            my.Dispose()
            myConn.Dispose()
            Response.Redirect("CustomerHome.aspx")


        Else
            FailureText.Text = "Invalid Password"



        End If
    Else
        FailureText.Text = "Login Name does not exist"

    End If




End Sub

1 Ответ

0 голосов
/ 28 декабря 2011

Вы можете повторить тот же процесс, который вы используете для проверки, если пользователь является клиентом, для проверки, если это администратор.

Куда вы положили: FailureText.Text = "Login Name does not exist", вы можете повторить код, указанный выше, и сначала проверить, если предоставленные имя пользователя и пароль соответствуют администратору. Если это так, установите сеанс для администратора и перенаправьте на страницу администратора. Если нет, показать текст ошибки.

Чтобы ваш код оставался читаемым, я бы разделил функцию проверки на несколько функций, которые вызываются из основной функции (рефакторинг). Таким образом, вы получите такие функции, как: IsValidCustomer и IsValidAdministrator, которые выполняют там проверку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...