Где делает сеть. HttpContext. Текущий. Пользователь. Идентификационные данные. Название происходит от?

Вы можете выбрать элемент (я полагаю, вы говорите о выборе квартала рядом с «Play by play») с помощью этого css:

driver.find_element_by_css_selector("#gamepage_playbyplay span.period_select").click()

, а затем ожидаете выбора значения «Q4» например:

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '#gamepage_playbyplay span.period_select option[value="Q4"]')))
driver.find_elements_by_css_selector('#gamepage_playbyplay span.period_select option[value="Q4"]')).click()
5
задан Alex Angas 18 August 2009 в 09:43
поделиться

2 ответа

Имя пользователя является просто свойством пользовательского объекта IPrinciple, и этот объект устанавливается в одном из стандартных HTTPModules ASP.NET, в вашем случае, вероятно, System.Web.Security.FormsAuthenticationModule как часть метод OnAuthenticate.

Если вы хотите узнать, как изменить эту информацию, например, задать другое имя пользователя или идентификацию, вам нужно будет создать global.asax или пользовательский HTTPModule, который переопределяет Application_AuthenticateRequest. Вот пример:

Public Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim cookieName As String = FormsAuthentication.FormsCookieName
    Dim authCookie As HttpCookie = HttpContext.Current.Request.Cookies(FormsAuthentication.FormsCookieName)

    If Not IsNothing(authCookie) Then
        Dim authTicket As FormsAuthenticationTicket = FormsAuthentication.Decrypt(authCookie.Value)
        If IsNothing(authTicket) OrElse authTicket.Expired Then
            HttpContext.Current.Response.Redirect(FormsAuthentication.LoginUrl)
        Else
            Dim id As New FormsIdentity(authTicket)

            Dim newUser As New YourCustomUserType(id.Name)
            HttpContext.Current.User = newUser
        End If
    End If
End Sub
3
ответ дан 14 December 2019 в 19:25
поделиться

Похоже это может происходить в закрытом методе OnAuthenticate в System.Web.Security.FormsAuthenticationModule. Строка:

 e.Context.SetPrincipalNoDemand(
      new GenericPrincipal(new FormsIdentity(ticket),
      new string[0]));
2
ответ дан 14 December 2019 в 19:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: