Chcę pobrać bieżącą nazwę zalogowanego użytkownika dla zapytania bazy danych w C# i próbować znaleźć wersję C# polecenia ASP "Polecenie" User.Identity.Name. Kiedy go wyszukuję, znajduję tylko osoby, które pobierają nazwę użytkownika Windows za pomocą Environment.Username i podobnych rozwiązań — a to nie jest to, czego potrzebuję.
Mówię więc o kontach utworzonych z okna dialogowego ASP Configuration w VS lub o automatycznie generowanych funkcjach rejestru. Mogę się zarejestrować/zalogować/wylogować i tak dalej, więc zgaduję, że jest jakaś sesja, która przechowuje potrzebne informacje. Po prostu nie wiem, gdzie mogę to znaleźć.
Mam nadzieję, że nie jestem aż tak zagmatwany :) Czy ktoś wie, jak pobrać informacje o sesji z modelu C#?
2 odpowiedzi
Możesz uzyskać nazwę bieżącego użytkownika w MVC w taki sam sposób, jak w klasycznej ASP, za pomocą User.Identity.Name
. Cała przestrzeń nazw to System.Web.HttpContext.Current.User.Identity.Name
.
Nie widząc Twojego kodu, nie jestem pewien, ale wyobrażam sobie, że nie uwzględniasz System.Web
, a nawet jeśli tak, może być konieczne określenie HttpContext.Current.User.Identity.Name
.
Do modelu można przekazać właściwość kontrolera „Użytkownik”. coś takiego:
public ActionResult Index()
{
IndexModel model = new IndexModel(this.User);
}
Podobne pytania
Nowe pytania
c#
C # (wymawiane „patrz ostro”) jest językiem programowania wysokiego poziomu, statycznie typowanym, wieloparadygmatowym opracowanym przez firmę Microsoft. Kod C # zwykle jest przeznaczony dla rodziny narzędzi Microsoft .NET i czasów wykonywania, do których należą między innymi .NET Framework, .NET Core i Xamarin. Użyj tego tagu w przypadku pytań dotyczących kodu napisanego w C # lub C # formalnej specyfikacji.