В модели форм я использовал текущего вошедшего в систему пользователя:
Page.CurrentUser
Как получить текущего пользователя внутри класса контроллера в ASP.NET MVC?
c#
.net
asp.net-mvc
iis
forms-authentication
Серхат Озгель
источник
источник
Я обнаружил, что
User
работает, то естьUser.Identity.Name
илиUser.IsInRole("Administrator")
.источник
Imports System.Web
пройти квалификацию с помощьюHttpContext.Current.User.Identity.Name
, либо напрямую квалифицировать, используя полный синтаксис:System.Web.HttpContext.Current.User.Identity.Name
Попробуй
HttpContext.Current.User
.источник
Вы можете получить имя пользователя в ASP.NET MVC4 следующим образом:
источник
'System.Web.HttpContextBase' does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument of type 'System.Web.HttpContextBase' could be found
, я бы предложил сделать абсолютный вызов, как этоSystem.Web.HttpContext.Current.User.Identity.Name
,.Я понимаю, что это действительно старая версия, но я только начинаю работать с ASP.NET MVC, поэтому я решил добавить два цента:
Request.IsAuthenticated
говорит вам, если пользователь аутентифицирован.Page.User.Identity
дает вам личность вошедшего в систему пользователя.источник
Я использую:
Я не уверен, что это будет работать в ASP.NET MVC, но это стоит попробовать :)
источник
войти в систему под именем пользователя:
System.Web.HttpContext.Current.User.Identity.Name
источник
Чтобы сослаться на идентификатор пользователя, созданный с использованием простой аутентификации, встроенной в ASP.NET MVC 4 в контроллере для целей фильтрации (что полезно, если вы сначала используете базу данных и Entity Framework 5 для генерации привязок кода и ваши таблицы структурированы так, что внешний ключ к идентификатору пользователя используется), вы можете использовать
как только вы добавите оператор использования
источник
System.Security.Principal.WindowsIdentity.GetCurrent().Name
Работает только вMVC 5
. Однако это подтягивает доменное имя с именем пользователя. т.е. домен \ имя пользователяМы можем использовать следующий код для получения текущего зарегистрированного пользователя в ASP.Net MVC:
Также
источник
Имя пользователя с:
Но если вам нужно получить только идентификатор, вы можете использовать:
Таким образом, вы можете получить непосредственно идентификатор пользователя:
источник
Эта страница может быть тем, что вы ищете:
Использование Page.User.Identity.Name в MVC3
Тебе просто нужно
User.Identity.Name
.источник
использование
System.Security.Principal.WindowsIdentity.GetCurrent().Name
.Это получит текущего пользователя Windows, вошедшего в систему.
источник
Для чего это стоит, в ASP.NET MVC 3 вы можете просто использовать User, который возвращает пользователя для текущего запроса.
источник
Если вы находитесь на своей странице входа в систему, например, в событии LoginUser_LoggedIn, Current.User.Identity.Name вернет пустое значение, поэтому вы должны использовать свойство yourLoginControlName.UserName.
источник
Вы можете использовать следующий код:
источник
источник
источник
Если вы работаете в Active Directory в интрасети, вот несколько советов:
(Windows Server 2012)
Запуск всего, что говорит с AD на веб-сервере, требует кучу изменений и терпения. Так как при работе на веб-сервере вместо локального IIS / IIS Express он работает в удостоверении AppPool, поэтому вам необходимо настроить его так, чтобы он выдавал себя за любого, кто попадает на сайт.
Как получить текущего вошедшего в систему пользователя в активном каталоге, когда ваше приложение ASP.NET MVC работает на веб-сервере внутри сети:
Вы должны заключить любые вызовы, связанные с «активным контекстом каталога», в следующее, чтобы он действовал как среда размещения для получения информации AD:
Вы также должны
impersonate
установить значение true в вашем файле web.config:Вы должны включить проверку подлинности Windows в файле web.config:
источник
В Asp.net Mvc Identity 2 вы можете получить текущее имя пользователя:
источник
В диспетчере IIS в разделе Аутентификация отключите: 1) Анонимную аутентификацию 2) Аутентификация с помощью форм
Затем добавьте следующее к своему контроллеру для обработки тестирования по сравнению с развертыванием сервера:
источник