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

Как отобразить текст ошибки входа в систему, если регистрация пользователя с идентификатором роли пользователя отличается от роли поставщика ...

я использую следующий код для аутентификации роли пользователя при входе в систему

Protected Sub Login3_LoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles Login3.LoggingIn
        Dim user As TextBox = Me.Login3.FindControl("UserName")
        If Roles.IsUserInRole(user.Text, "Vendors") Then
            Login3.DestinationPageUrl = ("~/vendors/select_service.aspx")
        Else
            Login3.DestinationPageUrl = ("~/login.aspx")
        End If
    End Sub

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

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

Роли, по моему мнению, должны использоваться для определения, имеет ли пользователь доступ к определенному разделу вашего веб-сайта / приложения или нет.

, чтобы показать сообщение,рассмотрите возможность добавления метки и изменения свойства текста метки.

0 голосов
/ 31 марта 2012

В моей ситуации я хотел аутентифицировать пользователей, но если у них не было ролей, связанных с их учетной записью, отмените вход в систему и отобразите сообщение.Основываясь на предложении Флавио использовать лейбл, это то, что я придумал.(LoginInput - это мой LoginControl)

Protected Sub LoginInput_LoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)

    Dim a As System.Web.UI.WebControls.Login = CType(sender, System.Web.UI.WebControls.Login)

    LoginError.Visible = False

    If (Membership.ValidateUser(a.UserName, a.Password)) Then
        If (Roles.GetRolesForUser(a.UserName).Count = 0) Then
            LoginError.Text = "Your account does not have permission to access the system."
            LoginError.Visible = True
            e.Cancel = True
        End If
    End If

End Sub
...