tôi có trang web asp.net mvc ứng dụng mạng nội bộ. là có anyway để nắm bắt các cửa sổ đăng nhập nt từ wihtout người dùng có một hệ thống đăng nhập đầy đủ trong trang web. tôi không muốn cho phép nhưng tôi muốn làm một số đăng nhập vào máy chủ để theo dõi yêu cầu, vv. .chụp tên người dùng windows trong yêu cầu mvc asp.net
Trả lời
Bạn có thể sử dụng HttpContext.Current.User.Identity.Name
nếu bạn thiết lập trang web để sử dụng Windows Authentication. Nhiều trình duyệt sẽ chuyển tên người dùng một cách minh bạch.
Nếu bạn đặt IIS sử dụng Xác thực Windows và trang web nằm trong Vùng Intranet cho khách hàng của bạn thì thông tin đăng nhập sẽ tự động xảy ra mà không có bất kỳ lời nhắc nào.
Phiên bản Windows nào là ứng dụng mvc này đang chạy?
Bạn có thể thử như sau:
- Sử dụng IIS Manager để vô hiệu hóa truy cập nặc danh vào trang web, và chắc chắn rằng tiêu hóa và/hoặc cửa sổ xác thực được kích hoạt.
- Thay đổi web.config của ứng dụng mvc để sử dụng Xác thực Windows
- Truy cập tên đăng nhập trong bộ điều khiển bằng User.Identity.Name.
Việc đó có hiệu quả không?
Đến file Web.Config cho ứng dụng của bạn (hãy chắc chắn đó là một trong những chính, không phải là Web.Config dưới Views), nhận xét ra <authentication mode="Forms">
nếu bạn nhìn thấy nó, sau đó thêm dòng như thế này:
<authentication mode="Windows"/>
<identity impersonate="true"/>
<authorization>
<allow roles="DOMAIN\PersonnelGroup" />
<allow users="DOMAIN\jdoe"/>
<deny users="*"/>
</authorization>
Bạn không cần phải bao gồm phần <authorization>
nhưng sẽ hữu ích nếu bạn muốn cho phép quyền truy cập cho một số nhóm và người dùng nhất định và từ chối mọi người khác. Khi bạn sử dụng IE, thông tin đăng nhập sẽ được truyền tự động. Bạn có thể kiểm tra điều này bằng cách in tên người dùng theo quan điểm của bạn:
@HttpContext.Current.User.Identity.Name
Nếu bạn mở trang web của bạn sử dụng Firefox hoặc bất kỳ trình duyệt khác ngoài IE, nó sẽ nhắc bạn cho tên người dùng và mật khẩu vì nó không tự động đi dọc theo các chứng chỉ (mặc dù rõ ràng bạn có thể nhận được Firefox để vượt qua các thông tin, như Dan Diplo đề cập ở trên).
Nếu bạn muốn chuyển các thông tin này cùng với một máy chủ khác, chẳng hạn như SQLServer, nó trở nên đau đầu hơn do trải nghiệm của tôi, vì bạn gặp phải vấn đề kép. Cách giải quyết duy nhất tôi biết là để lưu trữ IIS và SqlServer trên cùng một máy chủ, hoặc có một đăng nhập cho mạng nội bộ của bạn để bạn có tên người dùng và mật khẩu để chuyển sang SQLServer.
var s = HttpContext.User.Identity.Name;
- 1. Lấy Yêu cầu thô trong ASP.NET MVC
- 2. Yêu cầu chứng chỉ ứng dụng khách với Asp.net MVC
- 3. SmtpClient.SendAsync chặn tôi ASP.NET MVC Yêu cầu
- 4. Yêu cầu xác thực - ASP.NET MVC 2
- 5. ASP.NET MVC có yêu cầu IIS không?
- 6. ASP.NET MVC tiêm theo yêu cầu
- 7. apache php> yêu cầu người dùng
- 8. Yêu cầu kéo Github đa người dùng
- 9. Xác thực người dùng ASP.NET MVC 3
- 10. Yêu cầu người dùng bật Wi-Fi
- 11. RabbitMQ người tiêu dùng theo yêu cầu?
- 12. ASP.NET (MVC) Outputcache và yêu cầu đồng thời
- 13. C# asp.net nhận tên người dùng
- 14. ASP.NET MVC Định tuyến người dùng như thế trong StackOverflow?
- 15. Điều khiển người dùng tương đương trong ASP.NET MVC 4
- 16. ASP.NET MVC tìm tên người dùng hiện tại trong bộ lọc tác vụ tùy chỉnh
- 17. Thành viên ASP.NET Tạo người dùng mà không yêu cầuQuestionAndAnswer
- 18. Quy trình IIS ASP.net MVC yêu cầu như thế nào?
- 19. Xác thực Windows qua Yêu cầu web C++/Node.js
- 20. Xác thực Windows - Nhận tên người dùng hiện tại
- 21. Xác thực Windows với ASP.NET MVC
- 22. Cách lấy Tên người dùng Windows trong WPF
- 23. Yêu cầu dữ liệu tĩnh trong ASP.NET
- 24. Spring MVC Yêu cầu URL trong JSP
- 25. Url ASP.NET MVC và Xác thực Windows Tích hợp IIS
- 26. Nhận tên người dùng/mật khẩu của người dùng đã đăng nhập trong Windows
- 27. Cách tốt nhất để thực hiện yêu cầu điều chỉnh trong ASP.NET MVC là gì?
- 28. Để ứng dụng HTML/CSS/JS thuần túy yêu cầu người dùng nhập tên người dùng/mật khẩu của mình và chuyển nó cho ADFS?
- 29. Cách nhận IP người dùng trong Bộ điều khiển API MVC ASP.NET
- 30. Cho phép người dùng hiện tại chống lại tên điều khiển và hành động trong ASP.NET MVC 3
có vẻ như với firefox, nó nhắc tên người dùng/pwd mặc dù IE dường như không yêu cầu nó. . bất kỳ ý tưởng nào về lý do tại sao điều này xảy ra – leora
Dan Diplo - bất kỳ ý tưởng nào? – leora
FireFox, theo mặc định, không chuyển vào tên người dùng. Tuy nhiên, nó có thể được thực hiện để làm việc - xem http://markmonica.com/2007/11/20/firefox-and-integrated-windows-authentication/ –