Tôi có một dự án mạng nội bộ được viết bằng MVC 4 sử dụng Xác thực Windows để ủy quyền và xác thực người dùng.'Đăng nhập với tư cách người dùng khác' MVC 4 Xác thực Windows
Tôi cần thêm chức năng 'Đăng nhập với tư cách người dùng khác'.
Sau khi một số tìm kiếm tôi thấy this solution điều này gợi ý trả lại một 401, và tạo ra các hành động sau đây (được gọi là sử dụng một hình thức):
//
// POST: /Home/LogOut
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOut()
{
return new HttpUnauthorizedResult();
}
Các hành động được gọi, và trình duyệt bật lên một tên người dùng và cửa sổ mật khẩu, tuy nhiên khi kết quả chuyển hướng trở lại Hành động, 401 luôn được trả lại.
Làm cách nào để chuyển hướng người dùng quay trở lại hành động trước đó, sau khi họ đăng nhập bằng thông tin đăng nhập mới?
Có cách nào để vô hiệu hóa thông tin xác thực ở phía máy chủ thay vì chỉ trả về 401 không?
Có thể bạn nên cân nhắc chuyển đối số url trả về sang phương thức LogOut, sau đó đăng xuất người dùng và chuyển hướng đăng nhập theo cách thủ công với url trả về này? –
Làm cách nào để bạn 'đăng xuất người dùng' theo cách thủ công khi sử dụng Xác thực Windows? Tất cả các giải pháp mà tôi đã tìm thấy yêu cầu một phản hồi 403 sẽ được gửi đến trình duyệt mà kết quả trong một hộp thông tin được hiển thị. – Darbio
Xin lỗi, tôi đã bỏ lỡ Bạn nói về WinAuth, không phải về FormsAuth. Giải pháp duy nhất tôi tìm thấy - nhưng không được thử nghiệm - là đăng xuất thông qua javascript: http://stackoverflow.com/questions/1067263/asp-net-windows-authentication-logout (Tôi muốn chuyển url trả về tới trang đăng xuất đặc biệt) với chức năng đăng xuất javascript như trên được gọi là tải, và sau đó chuyển hướng - bằng cách sử dụng đối tượng JS.location windows.location - người dùng đến trang được xác định bởi đối số returnurl từ chuỗi truy vấn –