Tôi đang tạo trang Intranet trong ASP.NET MVC 3 Beta và muốn sử dụng Windows Authentication độc quyền. Ngoài ra, tôi muốn sử dụng Visual Studio Development Server trong VS2010.Sự cố chỉ sử dụng Xác thực Windows trong ASP.NET MVC 3 Beta
tôi sửa đổi các tập tin web.config mặc định để loại bỏ tất cả các tài liệu tham khảo để xác thực các hình thức và chuyển sang này:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
Tuy nhiên, khi tôi khởi động trang web của tôi và nhận được trang mặc định, tôi nhận được câu trả lời này:
HTTP/1.1 302 Found
Server: ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:05:19 GMT
X-AspNet-Version: 4.0.30319
Location: /Account/Login?ReturnUrl=%2f
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 145
Connection: Close
nào dẫn đến bài này trong trình duyệt của tôi:
server Error in '/' Application.
Không thể tìm thấy tài nguyên.
Mô tả: HTTP 404. Nguồn bạn đang tìm kiếm (hoặc một trong phụ thuộc của nó) có thể đã được loại bỏ, có tên của nó thay đổi, hoặc là tạm thời không có. Vui lòng xem lại URL sau và đảm bảo rằng URL được viết đúng chính tả.
yêu cầu URL:/tài khoản/Đăng nhập
Thông tin Version: Microsoft .NET Framework Version : 4.0.30319; ASP.NET Version: 4.0.30319.1 Version: 4.0.30319.1
Nếu tôi chọn "NTLM xác thực" trong các thuộc tính dự án theo "Sử dụng Visual Studio phát triển Server" sau đó tôi một cách chính xác được trả lời này trên kết nối:
HTTP/1.1 401 Unauthorized Server
ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:07:37 GMT
Content-Length: 1211
WWW-Authenticate: NTLM
nhưng sau đó khi tôi xác thực, tôi nhận được 302
tôi nghĩ rằng đây chỉ là vấn đề thanh toán bù trừ ra một số giá trị mặc định nhưng không chắc chắn ("/ tài khoản/Đăng nhập" không xuất hiện bất cứ nơi nào trong các tệp web.config của tôi). Nếu tôi loại bỏ phần "từ chối" thì mọi thứ hoạt động tốt ngoại trừ việc tôi không nhận được Hiệu trưởng được xác thực và vẫn ẩn danh một cách hiệu quả.
Tôi tin rằng điều này được sử dụng để làm việc trong ASP.NET MVC 2 và VS2008 chỉ bằng cách thay đổi chế độ xác thực sang Windows, tuy nhiên nó dường như không hoạt động theo cách đó nữa.
Tôi biết tôi có thể thiếu một số thứ cơ bản. Cảm ơn!
Lưu ý: Câu hỏi này tương tự như câu hỏi "Problem restricting anonymous access to an ASP.Net MVC Site", nhưng khác ở chỗ tôi muốn sử dụng độc quyền xác thực Windows.
Trong MVC3 RTM, điều này dường như giúp ' ' [source] (http://brockallen.wordpress.com/2011/06/01/ beware-bin-deploy-of-mvc-và-razor-with-formsauthentication /) –
JustinStolle