2008-09-11 2 views
13

개발 (잘 작동 함) 할 때 웹 사이트 페이지는 사용자가 인증 (로그온) 할 때까지 올바른 CSS를 선택하지 않습니다.비인증 ASP.NET 페이지에 CSS가 적용되지 않습니다.

로그온 및 로그 오프 양식이 좋지 않지만 사이트 내부에 있으면 CSS가 다시 작동합니다.

인증 문제일까요? dev에 대해서만 그렇게 큰 문제는 아니지만 그것을 고치는 방법을 알면 좋을 것이기 때문에 그것을 너무 많이 조사하지 않았습니다.

답변

14

CSS 파일 자체가 보안 영역에 있는지 확인하십시오. 필요한 경우 web.config를 통해 파일을 수동으로 제외 할 수 있습니다.

+4

수동의 <구성> 섹션에서 아래에 추가하여 제외 : <인증> <위치 경로 = "CSS"> 을 <있도록 사용자 = "*"> JamesSugrue

+0

좋습니다. 그렇다면 제작 환경에서 어떻게 작동합니까? 이 섹션이 당신의 dev web.config에 없다면 같은 문제가 발생합니다. –

+0

제가 똑같은 문제가 있습니다 - 로그인 페이지는 개발 환경에서 잘 정의되어 있지 않습니다. web.config는 연결 문자열 및 디버그 설정을 제외하고 완전히 똑같습니다. 이 솔루션은 나를 위해 문제를 해결하지 못했습니다. –

3

Fiddler 또는 HttpWatch과 같은 도구를 사용해보고 로그인 페이지에서 실제로 .css 파일 요청이 있는지 확인할 수 있습니까? 반환 코드가 200인지 확인하십시오. dev 상자에 상대 경로 문제가 있기 때문일 수 있습니다.

17

인증되지 않은 사용자가 .css 파일 (또는 다른 파일/디렉토리)을 볼 수있게하려면 .css 파일을 가리키는 web.config 파일에 위치 요소를 추가 할 수 있습니다.

<configuration> 
    <system.web> 
     // system.web configuration settings. 
    </system.web> 
    <location path="App_Themes/Default/YourFile.css"> 
     <system.web> 
     <authorization> 
      <allow users="*"/> 
     </authorization> 
     </system.web> 
    </location> 
</configuration> 
8

이 문제가 발생하여 수동으로 위치를 추가해도 차이가 없습니다. IIS_IUSRS에 폴더에 대한 액세스 권한을 부여 했으므로 응용 프로그램 풀이 파일에 액세스하는 데 문제가 없었지만 IIS는 익명 액세스를 위해 IUSR 계정을 사용하고있었습니다.

그것을 해결하기 위해, 나는 IIS 관리자를 열 -> IIS .. 편집 (또는 오른쪽 클릭) -> 이제 '응용 프로그램 풀 ID'

를 선택 : 인증 - -> 선택 '익명 인증'은 작업>을 클릭 익명 액세스 시도는 올바른 파일 권한을 가진 IIS_IUSRS를 사용합니다.

+0

그것은 나를 위해 작동합니다! 대단히 감사합니다 :) –

관련 문제