2010-09-02 18 views
34

Tôi đang sử dụng ASP.Net Forms Authentication. Web.config của tôi trông như thế này.Cho phép truy cập cho người dùng không được chứng thực đến trang cụ thể bằng cách sử dụng ASP.Net Forms Authentication

<authentication mode="Forms"> 
     <forms loginUrl="login.aspx"/> 
    </authentication> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 

Vì vậy, hiện tại mọi trang aspx đều yêu cầu xác thực.

Tôi muốn cho phép người dùng chưa được xác thực quyền truy cập vào một trang cụ thể có tên special.aspx. Tôi có thể làm như thế nào?

+0

bạn đã bao giờ tìm ra điều này chưa? –

Trả lời

44

Hãy nhìn vào ví dụ trên MS Support

<configuration> 
    <system.web> 
     <authentication mode="Forms" > 
      <forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" > 
      </forms> 
     </authentication> 
<!-- This section denies access to all files in this 
application except for those that you have not explicitly 
specified by using another setting. --> 
     <authorization> 
      <deny users="?" /> 
     </authorization> 
    </system.web> 
<!-- This section gives the unauthenticated 
user access to the ThePageThatUnauthenticatedUsersCanVisit.aspx 
page only. It is located in the same folder 
as this configuration file. --> 
     <location path="ThePageThatUnauthenticatedUsersCanVisit.aspx"> 
     <system.web> 
     <authorization> 
      <allow users ="*" /> 
     </authorization> 
     </system.web> 
     </location> 
<!-- This section gives the unauthenticated 
user access to all of the files that are stored 
in the TheDirectoryThatUnauthenticatedUsersCanVisit folder. --> 
     <location path="TheDirectoryThatUnauthenticatedUsersCanVisit"> 
     <system.web> 
     <authorization> 
      <allow users ="*" /> 
     </authorization> 
     </system.web> 
     </location> 
</configuration> 
+0

Khi sử dụng kỹ thuật này cho '' nó cho phép người dùng không được thẩm định quyền truy cập vào trang cụ thể mà tôi muốn nó ("yay"), nhưng nó vẫn nhắc nhở về thông tin đăng nhập của họ? Bạn có thể đóng nó và xem trang tốt, nhưng tôi tự hỏi làm thế nào để vô hiệu hóa "Xác thực yêu cầu" cho trang cụ thể? –

+0

@TrevorNestman là bạn đang tải các nội dung khác trên trang như hình ảnh, v.v ...? Có thể là họ đang yêu cầu xác thực. – dnolan

+0

@dnolan cảm ơn phản hồi. Tôi đã có thể tìm ra nó. Tôi hỏi vai trò của họ trong quan điểm, vì vậy tôi khá chắc chắn đó là những gì đã thúc đẩy nó. –

15

Đặt sau trong web.config của bạn:

<location path="special.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
2

Cho phép mọi người truy cập vào một trang cụ thể

Đôi khi bạn muốn cho phép truy cập công cộng đến một số trang và muốn hạn chế quyền truy cập vào phần còn lại của trang web chỉ để đăng nhập người dùng/chứng thực .i.e. không cho phép truy cập ẩn danh. Nói special.aspx của bạn nằm trong thư mục gốc của trang web của bạn. Trong web.config của thư mục gốc của trang web của bạn, bạn cần phải có thiết lập sau đây.

<configuration> 
    <system.web> 

    <authentication mode="Forms"/> 

     <authorization> <deny users="?"/> //this will restrict anonymous user access 
     </authorization> 

    </system.web> 
    <location path="special.aspx"> //path here is path to your special.aspx page 
    <system.web> 
    <authorization> 
    <allow users="*"/> // this will allow access to everyone to special.aspx 

</authorization> 
</system.web> 
</location> 
</configuration> 
Các vấn đề liên quan