2010-11-02 39 views
27

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.

+7

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

Trả lời

38

Tôi đã gặp sự cố tương tự. Hóa ra có một sự thay đổi trong MVC 3 (khá tốt ẩn, quá) có xác thực mẫu tự động được kích hoạt theo mặc định, để vô hiệu hóa nó thêm dòng sau vào tệp Web.config gốc của bạn, dưới khóa appSettings ...

<add key="autoFormsAuthentication" value="false" /> 

Hy vọng điều đó sẽ hữu ích!

+0

Cảm ơn bạn! Tôi đã không nghe nói về "tính năng" này trước đây. Vô hiệu hóa nó cố định nó và nó chạy rất tốt ngay bây giờ. Cảm ơn một lần nữa! –

+1

Không vấn đề gì - đã cho tôi một ngày để theo dõi điều đó! – Kieron

+2

Phil Haack (@haacked) thông báo với tôi rằng vấn đề này nằm trong ghi chú phát hành và sẽ được sửa: http://www.asp.net/learn/whitepapers/mvc3-release-notes –

15

FYI, trong trường hợp điều này giúp người khác: Trong trường hợp của tôi, tôi chỉ phải thêm <add key="enableSimpleMembership" value="false"> để khắc phục sự cố và <add key="autoFormsAuthentication" value="false" /> không bắt buộc. Tôi cũng thấy bài đăng trên blog này rất hữu ích dưới dạng giải thích http://www.codeproject.com/Articles/292149/The-resource-cannot-be-found-Account-Login?msg=4092212#xx4092212xx

Bất kỳ suy nghĩ nào về phân nhánh tiềm năng/tác dụng phụ của sự cố này?

Tôi cũng thất vọng về vấn đề này chưa được sửa bởi MS sau một năm +.

cảm ơn.

+2

Tôi cũng thất vọng. Và như bạn đã đề cập, tôi chỉ cần thêm ''. 1 để cung cấp liên kết :) –

+0

khía cạnh quan trọng từ bài viết này liên quan đến các phụ thuộc có thể triển khai !! – Ahmad

+0

Cảm ơn vì điều này! điều này dường như đã cố định cho tôi quá! –

Các vấn đề liên quan