IIS의 ASP.NET MVC3 및 Windows Auth가 계속 / Account / Login으로 리디렉션됩니다.
MVC3 및 Windows 인증 웹 응용 프로그램을 실행하고 있습니다. IIS6에 배포하면 인증이 필요한 페이지를 찾을 때까지 훌륭하게 실행됩니다. 그런 다음 내 응용 프로그램에 추적이없고 web.config가 Windows 인증으로 구성된 경우 / Account / Login으로 자동 리디렉션됩니다.
어떤 아이디어?
내 전체 web.config 파일은 다음과 같습니다. http://pastie.org/1568510
애플리케이션의 bin 디렉토리에 WebMatrix.Data.dll 및 / 또는 WebMatrix.WebData.dll이 배포되어 있는지 확인합니다 . 해당 파일이있는 경우 (사용하지 않는 경우) 해당 파일을 제거하고 인증이 필요한 페이지에 액세스 해보십시오.
RTM <appSettings>
에서 Web.config
다음 을 추가하십시오 .
<add key="enableSimpleMembership" value="false" />
( ASP.NET MVC 3 베타에서 Windows 인증을 독점적으로 사용하여 문제가 발생했습니다 .)
여전히 문제가 있는지 확실하지 않지만 추가해보십시오.
<add key="autoFormsAuthentication" value="false" />
appSettings의 web.config에 추가합니다. here and here 에 따르면 문제가 해결됩니다.
다음을 appSettings (web.config)에 추가하여 로그인 URL에 대한 WebMatrix.dll 기본값을 재정의 해보십시오.
<add key="loginUrl" value="~/Account/LogOn"/>
WebMatrix.dll은이 키가 구성 파일에 설정되어 있지 않으면 로그인 Url을 / Account / Login으로 설정합니다. 저에게 적합합니다.
RTM에서 Web.config에 추가해보십시오.
<add key="enableSimpleMembership" value="false" />
위의 게시물이 작동합니다. +1 배포 가능한 종속성을 추가 하기 전에이 키 를 추가 하십시오 .
내 MVC4 프로젝트에서 동일한 문제가 발생했으며 내 프로젝트에만 익명 인증이 완전히 비활성화되어 있으므로 항상 Windows 인증이 필요합니다.
내 bin 폴더에 WebMatrix. *가 없으며 autoFormsAuthentication 및 enableSimpleMembership 키를 appSettings에 추가해도이 작업이 수행되지 않았습니다.
대신 다음을 주석 처리해야했습니다.
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
그리고 이것을 다음으로 바꿉니다.
<authentication mode="Windows" />
그게 속임수였습니다.
나는 nopCommerce 2.65를 사용하고 있었고이 문제가있었습니다.
bin 폴더에 WebMatrix.Data.dll이나 WebMatrix.WebData.dll을 배포하지 않았지만
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false" />
web.config에서 해결했습니다.
"login.aspx url redirection problem with MVC + IIS 7"을 재정의하는 또 다른 방법은 ... 이것을 appSettings (web.config)에 추가하여 :
<authentication mode="Forms">
<!--<forms loginUrl="~/Account/Login" timeout="2880" />-->
<forms loginUrl="~/Home" timeout="2880" />
</authentication>
... 이것은 나를 위해 문제를 해결했습니다.
이 방법으로 수정했습니다.
1) IIS로 이동
2) 프로젝트를 선택합니다.
3) "인증"을
클릭합니다. 4) "익명 인증"을 클릭하고> 편집> "특정 사용자"대신 "응용 프로그램 풀 ID"를 선택합니다.
5) 완료.
IIS의 모든 인증 설정이 올바른지 확인하십시오.
나를 위해 / Account / Login으로 리디렉션 된 응용 프로그램은 익명 인증이 활성화 된 사이트 내에서 실행 중이었습니다. 사이트에서 이것을 비활성화하고 응용 프로그램에 대해 활성화 한 후 (Windows 인증과 함께) 괜찮 았습니다.
서버의 IIS로 이동하여 인증 모드로 이동하여 폼 인증을 비활성화 할 수도 있습니다.
이것은 데모에서 머리를 긁적입니다. 당황.
나는 이것이 매우 오래된 게시물이라는 것을 알고 있습니다. 하지만 MVC 4에서 MVC 5로 업그레이드 하는 방법에 대한 자습서 를 살펴본 후이 문제 를 만났습니다 . 그래서 다른 사람이 내가 한 실수를 저지르는 경우를 대비 하여이 문제 를 해결했습니다. 내 문제는 내 참조를 업그레이드하는 동안 실수로 'Microsoft.AspNet.WebPages.WebData'를 내 프로젝트에 추가 한 것입니다.
"Uninstall-Package Microsoft.AspNet.WebPages.WebData"를 실행하면 내 인증이 이전의 영광으로 복원되었습니다.
4.6 프레임 워크 용 MVC에서는 두 가지 방법으로 수행됩니다. 첫 번째는 예상대로 Web.Config에 있고 두 번째는 프로젝트 파일에서 수행되며 IIS Express를 구성하는 데 사용됩니다.
<PropertyGroup>
..
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
</Property
Windows 인증을 비활성화하고 개발시 익명을 사용하지만 응용 프로그램 배포에는 사용되지 않습니다.
'Program Tip' 카테고리의 다른 글
PHP를 사용하여 mysql 데이터베이스에서 .sql 파일을 가져 오는 방법 (0) | 2020.12.13 |
---|---|
AngularJS UI-Router : 매개 변수로 상태의 절대 URL 가져 오기 (0) | 2020.12.13 |
NSDictionary를 NSString으로 변환 (0) | 2020.12.13 |
레지스트리에 저장할 때 암호를 암호화하는 가장 쉬운 방법은 무엇입니까? (0) | 2020.12.13 |
Java에서 임의의 색상을 만드시겠습니까? (0) | 2020.12.13 |