Đối với hầu hết các phần, webapp của tôi yêu cầu xác thực để làm bất cứ điều gì. Có một vài trang, cụ thể là trang chủ, mà tôi muốn mọi người có thể truy cập mà không cần xác thực.Làm cách nào để cấp quyền truy cập ẩn danh cho url bằng cách sử dụng FormsAuthentication?
Cụ thể, tôi muốn cho phép truy cập nặc danh đến các url:
/home
/default.aspx
Tôi đang sử dụng MVC asp.net và FormsAuthentication. Cả hai url đều trỏ đến cùng một chế độ xem:
/home/index.aspx
Đây là cấu hình hiện tại của tôi trong web.config.
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
Đọc tài liệu cho thẻ ủy quyền, nó cho biết "Định cấu hình ủy quyền cho ứng dụng web, kiểm soát quyền truy cập của khách hàng vào tài nguyên URL". Có vẻ như tôi có thể sử dụng thẻ ủy quyền để chỉ định url và cho phép truy cập.
Cái gì như:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<authorization url="/default.aspx">
<allow users="?" />
</authorization>
<authorization url="/home">
<allow users="?" />
</authorization>
Tại sao sự khiêm tốn và CW? Nếu bạn kết thúc trả lời câu hỏi của riêng mình và đăng giải pháp, bạn không chỉ giúp đỡ bản thân mà còn giúp đỡ người khác. Hãy tự hào và lấy séc. Cảm ơn vì đã tham gia. –
Tôi thực sự đấu tranh với điều này trong khoảng 3 giờ ngày hôm qua sau khi googling nhiều câu trả lời hợp lý. Đó là thứ dường như tạo nên sự khác biệt và cảm ơn rất nhiều vì đã làm nổi bật điều đó. Cảm ơn vì đăng. – nealkernohan
Trong MVC 4 bạn chỉ cần cho phép người dùng điều khiển bạn muốn. Không cần thêm quyền truy cập đặc biệt vào kiểu/tập lệnh/v.v. các thư mục như vậy đã được thực hiện. Đồng thời di chuyển nội dung của ghi đè bạn đã đặt vào nút system.web chính. –