programing

인증되지 않은 사용자가 ASP를 사용하여 특정 페이지에 액세스할 수 있도록 허용합니다.넷폼 인증

bestprogram 2023. 10. 4. 22:13

인증되지 않은 사용자가 ASP를 사용하여 특정 페이지에 액세스할 수 있도록 허용합니다.넷폼 인증

ASP를 사용하고 있습니다.Net Forms Authentication.제 Web.config는 이렇게 생겼습니다.

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

그래서 현재 모든 aspx 페이지는 인증이 필요합니다.

인증되지 않은 사용자도 special.aspx라는 특정 페이지에 액세스할 수 있도록 하고 싶습니다.이거 어떻게 해요?

MS 지원의 예를 살펴봅니다.

<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>

web.config에 다음을 입력합니다.

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

<authorization>
<allow users="*"/> // this will allow access to everyone to register.aspx
</authorization>

</system.web>
</location>

자세한 내용은 아래 링크를 참조하십시오.

http://weblogs.asp.net/gurusarkar/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config

모든 사용자가 특정 페이지에 액세스할 수 있도록 허용

일부 페이지에 대한 공개 액세스를 허용하고 사이트의 나머지 부분에 대한 액세스를 로그/인증된 사용자에게만 제한하려는 경우가 있습니다. 즉, 익명 액세스를 허용하지 않습니다.special.aspx가 사이트의 루트 폴더에 있다고 가정합니다.웹 사이트 루트 폴더의 web.config에서는 다음과 같은 설정이 필요합니다.

 <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>

언급URL : https://stackoverflow.com/questions/3628445/allow-access-for-unathenticated-users-to-specific-page-using-asp-net-forms-authe