2011-03-30 4 views
2
<authentication mode="Forms"> 
    <forms name="ASPAuth" 
     path="/Admin" 
     timeout="20" 
     requireSSL="false" 
     slidingExpiration="true" /> 
</authentication> 

내 dev 시스템에서 위의 내용이 web.config에 있습니다. VS 웹 서버를 사용하는 경우이 작동합니다. 그러나 IIS7에서 가상 디렉터리를 사용하여 동일한 웹 사이트를 호스팅 할 때 그렇지 않습니다. http://MachineName/MyApp/ : IIS의 URL의 모습 http://localhost:xxxx/양식 인증 쿠키의 상대 경로

: 같은

VS URL이 보인다.

IIS를 통해 웹 사이트에 액세스 할 때 IsAuthenticated는 항상 false입니다. 쿠키가 http://MachineName/Admin/이 아니기 때문에 http://MachineName/MyApp/Admin에 할당 되었기 때문입니다.

어떻게 "Admin"이 상대 경로가되도록합니까? 나는 경로 = "~/Admin"을 시도했지만 작동하지 않습니다.

감사합니다. 당신의 Web.Release.Config로의 변환을 넣어

답변

1

시도 :

<authentication mode="Forms"> 
    <forms name="ASPAuth" 
    path="/MyApp/Admin" 
    timeout="20" 
    requireSSL="false" 
    slidingExpiration="true" 
    xdt:Transform="Replace" 
    xdt:Locator="Match(key)"/> 
</authentication>