Я немного в затруднительном положении. Я использую JavaScript-функции PageMethod, где я вызываю PageMethod, который работает как драгоценный камень. Однако я имею вопрос в доступе состояния HttpContext, который возвращает мне значение «SYSTEM» дляJavaScript PageMethods call loss HttpContext.Current State
HttpContext.Current.User.Identity.Name
, который не является фактическим током Имени пользователя.
Я знаю, что есть несколько вариантов, таких как сохранение HttpContext.Current в сеансе или сохранение состояния Контекста в каком-либо другом настраиваемом контейнере, но с учетом среды веб-фермы. Я предполагаю, что это не будет работать должным образом.
Вот код, я работаю с
function MyFunction(){
PageMethod.MyPageMethod();
}
здесь является сигнатура метода сервера
[System.Web.Services.WebMethod()]
public static void MyPageMethod()
{
// gives me "SYSTEM"
var user = HttpContext.Current.User.Identity.Name;
}
Кроме того, если я использую приведенный выше код для доступа к имени пользователя в OnLoad случае на странице, тогда он отлично работает и возвращает мне CurrentUserName.
Я пытаюсь получить код выше, чтобы работать в Webform ASP.NET ... :)
Так мне интересно, если есть способ получить доступ к текущему фактическому пользователю в методах страницы без использования сессий.
Любая помощь будет глубоко оценена.
NiK ...
Просто интересно, что режим проверки подлинности вы используете? Также любые другие настройки в web.config для авторизации/олицетворения? – gbs
Спасибо, что нашли время, чтобы прочитать мой вопрос ... мы используем проверку подлинности на основе Windows через Active Directory. – NiK
Я только что проверил быстрый тест на моем локальном iis с режимом аутентификации = «Windows» в моем веб-контенте и запретил пользователю = ?» и получил mydomain/имя пользователя. Интересно, что-то другое, чем моя конфигурация. – gbs