0

누군가가이 문제를 해결함으로써 내 무지를 지적하는 데 도움이되기를 바랍니다. :)하위 응용 프로그램에 HTTP POST를 수행 할 때 주 사이트의 인증에 계속 도전해야하는 이유는 무엇입니까?

방금 ​​http://www.digitalrefraction.com에 새 DNN 사이트를 설치했으며 모두 잘 작동합니다. 또한이 관련이없는 ASP.Net MVC 2.0 (확장명이 URL을 - 그 가치가 무엇인지에 대한) 애플리케이션은 다음 URL에서 해당 도메인의 하위 폴더에서 실행 : 는 http://www.digitalrefraction.com/refractor

나는 잘 HTTP GET 요청을 할 수있다 내 하위 응용 프로그램에. 그러나 POST를 수행하는 순간 "인증 필요"대화 상자가 나타납니다 : "http://www.digitalrefraction.com의 사용자 이름과 암호를 입력하십시오".

이제 혼란스러워합니다. 메인 도메인에 대한 POSTS 및 GETS가 정상적으로 작동하는 이유는 무엇입니까? 그렇지만 하위 응용 프로그램에 대한 POST를 수행하면 주 도메인의 인증에 대해 문제가 발생합니까? 그러나 하위 응용 프로그램에 대한 GET이 작동합니다!

예, 기본 DNN 사이트의 web.config를 확인했으며 승인 항목이 전혀 없습니다./refractor에 대한 익명 액세스를 허용하기 위해 일부 추가를 시도했지만 별 차이가 없었습니다. 내 하위 응용 프로그램 인 web.config도 확인했습니다. 나는 다소 실망합니다.

참고, 저는 하위 응용 프로그램 (하위 폴더)이 아니라 하위 도메인에 대해 이야기하고 있습니다.

모든 도움말이나 아이디어 또는 직접 답변을 제공해 주시면 대단히 감사하겠습니다. :)

고맙습니다.

+1

아마 actionfilters가 ASP 도메인의 ASP.Net MVC 응용 프로그램의 POST에 적용됩니다. 확인할 수 있습니까? – Chandu

+0

뭔가가있을 수 있습니다.임시 양식을 작성하기 위해 일시적으로 해킹을 당했다고 생각했지만 어쩌면 뭔가를 놓친 것 같습니다. 오늘 밤 확인해 볼께. Tnx. –

답변

1

Cybernate에 비해서, 나는 모든 것을 보았다. 기본적으로 내 하위 응용 프로그램의 로그인이 작동하지 않아 결과적으로 HTTP POST를 처리하고 보안이 필요한 컨트롤러가 인증에 어려움을 겪습니다.

로그인이 작동하지 않는 이유는 전체 중첩 된 응용 프로그램 설정과 루트 DNN 사이트의 web.config에서 상속 때문이었습니다.

특정 문제; 응용 프로그램은 루트 web.config에서 상속 된 일부 설정으로 인해 오류가 발생하므로 httpmodules과 같은 일부 섹션 맨 위에 <clear />을 삽입하여 상속 된 DNN 모듈을 제거합니다. 기본적으로 DNN의 web.config에 지정된 모듈이 아닌 일부 모듈이로드됩니다. 그들 중 일부는 인증과 관련이 있습니다. 그래서 그들을 지우면 기본적으로 로그인이 깨졌습니다. 결국

대신 <clear />의 I는 DNN web.config를 구성되었다는 DNN HttpModules는 각각에 대한 추가 <remove ... />. 이 방법으로 나는 원하지 않거나 필요하지 않은 것들을 제거했지만, 여전히 내 앱이 작동하는 데 필요한 모듈은 그대로 유지했습니다.

심각한 고통 이었지만 이제 끝났습니다. 조언 : 중급 ASP.Net 응용 프로그램에서 벗어나십시오.

생각해 보니, "어떤 부모 응용 프로그램/web.config에서 설정하지 마십시오"를 의미하는 설정 (응용 프로그램 범위 전체)이 아닙니까? 그것은 매우 도움이되었을 것입니다!

+1

부모가 설정을 상속하지 않도록 설정 한 경우 machine.config에있는 모든 설정을 적용해야합니다. 그 이유는 부모이기도하기 때문입니다. –

+0

음. 좋은 지적. –