Mam stronę intranet asp.net stronie mvc. jest tak czy inaczej, aby przechwycić logowanie do Windows NT od użytkownika bez posiadania pełnego systemu logowania na stronie. Nie chcę uprawnień, ale chciałbym zrobić pewne logowanie na serwerze, aby śledzić żądania itp. .przechwytywanie nazwa użytkownika systemu Windows w asp.net żądanie mvc
Odpowiedz
Możesz użyć HttpContext.Current.User.Identity.Name
, jeśli skonfigurujesz stronę, aby używać Windows Authentication. Wiele przeglądarek przekazuje nazwę użytkownika w sposób przezroczysty.
Po skonfigurowaniu usług IIS do korzystania z uwierzytelniania systemu Windows i gdy witryna znajduje się w strefie intranetowej dla klientów, logowanie odbywa się automatycznie bez żadnych monitów.
W jakiej wersji systemu Windows działa ta aplikacja mvc?
można spróbować następujących czynności:
- Użyj Menedżera usług IIS, aby wyłączyć dostęp anonimowy do witryny, i upewnij się, trawienia i/lub uwierzytelniania systemu Windows jest włączona.
- Zmiana pliku web.config aplikacji mvc na Uwierzytelnianie systemu Windows
- Dostęp do nazwy logowania w kontrolerze przy użyciu User.Identity.Name.
Czy to wystarczy?
Przejdź do pliku web.config aplikacji (pamiętaj, że to główny, a nie pod Web.Config Obejrzane), uwaga na <authentication mode="Forms">
jeśli go zobaczyć, a następnie dodać linie tak:
<authentication mode="Windows"/>
<identity impersonate="true"/>
<authorization>
<allow roles="DOMAIN\PersonnelGroup" />
<allow users="DOMAIN\jdoe"/>
<deny users="*"/>
</authorization>
Nie musisz dodawać sekcji <authorization>
, ale jest to przydatne, jeśli chcesz zezwolić na dostęp określonym grupom i użytkownikom, i odmówić wszystkim innym. Podczas korzystania z IE dane uwierzytelniające są przekazywane automatycznie. Można to sprawdzić przez wydrukowanie nazwy użytkownika w widoku:
@HttpContext.Current.User.Identity.Name
Po otwarciu witryny za pomocą przeglądarki Firefox lub innej przeglądarki oprócz IE, to poprosi o podanie nazwy użytkownika i hasła, ponieważ nie jest automatycznie przechodząc wzdłuż mandatów (chociaż najwyraźniej możesz przekonać Firefoksa do przekazywania poświadczeń, o czym wspomniał już Dan Diplo).
Jeśli chcesz przekazać te poświadczenia na inny serwer, taki jak SQLServer, staje się bardziej ból głowy z mojego doświadczenia, ponieważ masz problem z podwójnym hop. Jedynym sposobem, jaki znam, jest hostowanie usług IIS i SqlServer na tym samym serwerze lub logowanie do intranetu, aby mieć nazwę użytkownika i hasło do przekazywania do SQLServer.
var s = HttpContext.User.Identity.Name;
- 1. Przechwytywanie całego dźwięku systemu Windows?
- 2. Uwierzytelnianie systemu Windows ASP.NET MVC na podstawie uwierzytelniania formularzy
- 3. Windows Authentication z ASP.NET MVC
- 4. Żądanie certyfikatu klienta w Asp.net MVC
- 5. Jak uzyskać datetime lokalnego systemu użytkownika w asp.net mvc?
- 6. Rozszerzanie uwierzytelniania systemu Windows w aplikacji ASP.NET MVC 3
- 7. Nazwa użytkownika ASP.NET zmienia się
- 8. Wykryć przerwane żądanie w ASP.NET MVC
- 9. Uwierzytelnianie systemu Windows i Asp.Net Web API
- 10. Nazwa menedżera okien dla systemu Windows
- 11. ASP.NET MVC, MonoDevelop i Windows
- 12. Żądanie sprawdzania poprawności - ASP.NET MVC 2
- 13. Asp.Net MVC - Zmiana klasy błędu nazwa
- 14. Program ASP.NET przekazujący dane uwierzytelniania systemu Windows
- 15. ASP.NET MVC Url.Action i nazwa wartości trasy
- 16. Ustaw bieżącego użytkownika w asp.net mvc
- 17. Hybrydowe uwierzytelnianie Windows i uwierzytelnianie formularzy w ASP.NET MVC 4
- 18. Wyłącz stan sesji na żądanie w ASP.Net MVC
- 19. Czy istnieje coś takiego jak "w pełni kwalifikowana" nazwa użytkownika w kontekście uwierzytelniania systemu Windows?
- 20. Uzyskaj identyfikator użytkownika zalogowanego użytkownika w Asp.Net MVC 5
- 21. Jak sprawdzić, czy nazwa konta użytkownika systemu Windows istnieje w domenie?
- 22. Programistycznie zmieniaj użytkownika usługi systemu Windows
- 23. Jak ponownie uwierzytelnić użytkownika w aplikacji ASP.Net MVC 3 _Intranet_?
- 24. Uwierzytelnianie LDAP w ASP.Net MVC
- 25. Określ systemu Windows Nazwa usługi na zainstalować z instalacyjnego Projektu
- 26. Uwierzytelnianie systemu Windows z rdzeniem asp.net
- 27. Przyjazny dla użytkownika ASP.NET MVC błąd 401
- 28. Skanowanie antywirusowe na żądanie Windows
- 29. Jak wyśmiać żądanie na kontroler w ASP.Net MVC?
- 30. Jaka nazwa systemu operacyjnego Windows 10 jest ustawiona na agenta użytkownika przeglądarki?
wydaje się, że z firefox wyświetla monit o podanie nazwy użytkownika/pwd, mimo że IE nie wymaga tego. . wszelkie pomysły, dlaczego tak się dzieje – leora
Dan Diplo - jakieś pomysły? – leora
FireFox domyślnie nie przekazuje nazwy użytkownika. Można go jednak uruchomić - zobacz http://markmonica.com/2007/11/20/firefox-and-integrated-windows-authentication/ –