2010-05-26 54 views
8

Bất kỳ ai có thể cho tôi biết, nếu có thể sử dụng cả xác thực mẫu và cơ bản trên trang web của tôi mà không có 2 can thiệp lẫn nhau?Sử dụng xác thực Cơ bản và Xác thực Mẫu trên cùng một trang web

Tôi có một trang web mới mà tôi chỉ muốn một số người nhất định xem mục đích phê duyệt.

Trang web có khu vực thành viên sử dụng Xác thực mẫu và bây giờ khi bất kỳ ai nhập trang web sau khi xác thực cơ bản, họ đang được chuyển đến trang xác thực biểu mẫu, mặc dù họ phải xem trang không được biểu mẫu bảo vệ xác thực.

Tôi cần một tình huống trong đó bất kỳ ai xóa xác thực cơ bản sau đó có thể xem toàn bộ trang web, trừ khu vực thành viên của trang web nơi họ sẽ cần phải đăng nhập thông qua xác thực biểu mẫu.

+0

Xác thực của bạn được thiết lập ngay bây giờ như thế nào? – MarioDS

+0

Vui lòng đăng một số chi tiết (mã hoặc mã giả) về cách xác thực/ủy quyền của bạn được định cấu hình ngay bây giờ. Điều này nghe giống như một vấn đề * ủy quyền * hơn là một vấn đề xác thực nếu bạn đang được chuyển hướng đến địa điểm sai. Bạn đang sử dụng 'AuthorizeAttribute'? Bạn đang sử dụng 'AllowAnonymousAttribute'? Xem [Cách tạo một ví dụ tối thiểu, đầy đủ và có thể xác minh được] (http://stackoverflow.com/help/mcve). – NightOwl888

+0

Tôi đã cập nhật câu hỏi. Thuộc tính '[Authorize]' đang được sử dụng và hoạt động như dự định với Authentication Form. Tuy nhiên, toàn bộ trang web cần được bảo vệ bằng Xác thực cơ bản. I E. Khi người dùng cố truy cập trang web, họ được nhắc bằng hộp thoại đăng nhập trình duyệt. Sau khi xóa, người dùng sẽ có thể xem toàn bộ trang web, không bao gồm các phương thức/bộ điều khiển với thuộc tính '[Authorize]' (trong đó xác thực biểu mẫu là cần thiết để truy cập vào các phần này của trang web) – cnorthfield

Trả lời

2

Có vẻ như bạn chưa định cấu hình xác thực biểu mẫu cho khu vực thành viên cụ thể nhưng đã định cấu hình cho mọi thứ.

Nhìn vào the authorization elementthe location element (nếu bạn muốn kiểm soát cài đặt trong Web.config chính, thay vì tạo Web.config cho khu vực của thành viên).

Xem thêm ASP.NET Forms Authentication and a "No Authentication" subfolder (ngoại trừ bạn muốn đảo ngược).

1

Một tùy chọn là viết thuộc tính bộ lọc xác thực cơ bản của riêng bạn và bảo vệ hành động chỉ yêu cầu xác thực cơ bản với thuộc tính tùy chỉnh. Hành động điều khiển yêu cầu xác thực biểu mẫu phải được bảo vệ bằng thuộc tính [Authorize] thông thường. Vui lòng tham khảo ví dụ sau: -

http://www.ryadel.com/en/http-basic-authentication-asp-net-mvc-using-custom-actionfilter/

Tôi đã có một vấn đề tương tự trong quá khứ nhưng đã hơn dọc theo dòng cung cấp xác thực cơ bản cho các cuộc gọi REST và xác thực hình thức khi có người truy cập vào trang web MVC. Chúng tôi đã kết thúc việc tạo bộ lọc xác thực của riêng chúng tôi

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