2010-03-01 3 views
7

web.config의 Sitecore 사이트에 loginPage 값을 설정하려고합니다. loginPage에서 참조 된 파일은 Sitecore 항목이므로 서버의 psycical 페이지가 아닙니다. 아무리 내가 그것을 참조해도, 그것은 작동하지 않습니다. 나는 2 개의 에러 중 하나를 얻는다.Sitecore : loginPage?

리소스를 찾을 수 없습니다. /sitecore/login에 대한 하위 요청 실행 중 오류가 발생했습니다. (내가 web.config에서 참조한 경로를 beeing)

아이디어가 있으십니까?

+1

당신이 당신의 브라우저에서 해당 항목을 요청할 수있는 파일 Sitecore.config에서 변경할 수 있습니까? loginPage 속성의 항목 경로는 사이트의 startPath에 대한 상대 경로 여야합니다. 나는/sitecore/login이 사이트 루트와 관련이 없다고 가정합니다. –

+0

나는 이것에 관한 블로그 게시물을 작성 했으므로 내일 게시해야하므로 링크를 게시 할 예정입니까? 단일 사이트 솔루션에 있습니까? 귀하의 사이트 노드 노드 루트 경로 란 무엇입니까? 루트 경로가/home 인 경우 그러면 Login =/Login So 경로는 트리의/Content/Home/Login이됩니다. 에디터에서 페이지를 볼 수 있습니까? 또는 경험 편집기 (Sitecore 8) 그렇다면 페이지와 템플릿을 게시 했습니까? 로그인 페이지를 가리키는 링크를 렌더링 해 보셨습니까? 그게 효과가 있니? 희망이 도움이 :) 찰리 –

답변

18

web.config의 설명문에 'loginPage'속성이 The path to the login page to use. Must point to a physical file or a page in a site that does NOT require login.이어야합니다. '로그인 필요'는 익명 사용자에 대한 읽기 권한이 거부되었음을 의미합니다. 이 익명 사용자는이 사이트에 대해 지정된 도메인의 사용자입니다. 당신은 '웹 사이트'사이트에 대한 로그인 페이지 세트를 갖고 싶어

예를 들어, 당신은 익명 \ 사용자가 지정한 항목에 대한 읽기 권한이 엑스트라 넷 있는지 확인해야합니다.

희망이 도움이됩니다.

5

loginPage 속성은 실제로 항목 경로가 아닌 URL입니다. 확장자가있는 전체 경로 포함 - 예 : /MyAccount/Login.aspx

+0

행운을 빌어 요 .--( – kastru

+0

당신은 그 오류를 어떻게 사용합니까? 그 URL을 사용하여 페이지에 직접 액세스 할 수 있다고 가정합니까? – techphoria414

1

브라우저에서 URL을 입력하여 로그인 페이지로 이동해보십시오. 페이지 자체에 접근 할 수 없거나 브라우저에 오류가 발생하면 web.config에서 액세스 할 수 없습니다.

yoursite/login 경로 또는 설정 한 sitecore 트리 경로를 사용하여 브라우저의 URL에 로그인 페이지가 나타나면. 그런 다음 web.config에 추가하십시오.

또한 컨텐츠 트리에서 로그인 항목에 대한 보안 및 액세스 뷰어를 클릭 할 수 있습니다. 그런 다음 익명 역할을 선택하십시오. 보안 문제 인 경우 익명의 보안 설정에 어떤 역할이 영향을 미치는지 확인할 수 있습니다.

0

브라우저에 "URL of ur website/Sitecore/showconfig.aspx"를 입력하십시오. 여기에 사용중인 모든 .config 파일의 조합이 표시됩니다. 또한 피들러 (소프트웨어)를 체크하여 리소스 외에 다른 응답을 얻을 수 있는지 확인할 수 있습니다.

0

web.config에 적용한 설정을 붙여 넣을 수도 있다면 좋겠지 만,이 질문을 이해하는 방법입니다.

Sitecore 로그인 페이지를 덮어 쓰지 않고 클라이언트 사용자 로그인 페이지를 만들고 싶습니다.

그렇다면 가정용 아이템 (sitecore> content> home> YOUR_LOGIN_PAGE) 아래에 있는지 확인해야합니다.

가정 용품 외부에있는 경우 (예 : sitecore> content> YOUR_WEBSITE> YOUR_LOGIN_PAGE 그런 다음 sitedefinition.config에서 구성해야합니다. 새 사이트로 취급되기 때문에 새로 설치 한 Sitecore의 일부가 아니기 때문입니다.

올바르게 적용했는지 확인하려면 브라우저에서 showconfig 페이지에 액세스하십시오 (예 :http://YOUR_WEBSITE/sitecore/admin/showconfig.aspx)

당신이 두 배로 할 수 있습니다

추가 거즈 확인 :

  • 을 확인 미리보기 모드

  • 만들기에 접근하려고하지 않을 경우, 웹 데이터베이스에 게시 할 수 있었다 확인 항목에 레이아웃과 렌더링 정의가 있는지 확인하십시오. 그렇지 않으면 작동하지 않습니다.

  • 페이지에 액세스 할 수있는 권한이 있는지 확인하십시오. 나는 당신이 설정의 변경으로 인해 발생할 수 있습니다 관리 역할

0

이 문제에있어 가정 것 : 기본적으로 false입니다

<setting name="RequestErrors.UseServerSideRedirect" value="false" />"

합니다.

config 파일의 메모에 따르면 사실 Sitecore는 Response.Redirect 대신 Server.Transfer을 사용합니다. 그러나 Server.Transfer은 일반 로그인 페이지 리디렉션에 적합하지 않습니다. 이유는 다음과 같습니다.

ASP.NET은 현재 사용자가 Transfer 메서드에서 전달한 리소스를 볼 수있는 권한이 있는지 확인하지 않습니다.

0

당신은 로그인하지 않고

<site name="shell" ... loginPage="yoururl" ... /> 
<site name="login" ... virtualFolder="/yoururl" ... /> 
<site name="admin" ... virtualFolder="/yoururl" ... loginPage="/yoururl/login.aspx" />