我們創建了一個網站,需要將大部分網頁鎖定到匿名用戶。他們應該能夠訪問的唯一的頁面是:當匿名訪問被刪除時請求siteroot時出錯
- 登錄
- 重置密碼
- 帳戶驗證
- 找不到網頁
- 隱私政策
- 牛逼&銫
該網站的startItem已被設置爲「/ Home」,全部爲o f其他頁面包括那些允許匿名訪問的頁面如下。
此節點已將「extranet \ Anonymous」讀取刪除,然後我們允許讀取我們希望他們訪問的特定頁面。
我們發現,如果我們要求一個Url,例如:www.domain.com/page-i-cant-get-to,那麼Sitecore會將您重定向到網站上loginPage屬性中設置的url,哪個是對的。
但是,如果我要求www.domain.com,我收到了一個錯誤說「爲要求的文檔佈局沒有被發現。
如果我登錄,然後去相同的URL,一切都很好。
我已經遍歷了ExecuteRequest管道,並且在請求www.domain.com/page-i-cant-get-to時發現了Context.Item爲null,所以它被傳遞給HandleItemNotFound(args)方法。
如果我們要求根頁面,那麼這被設置爲根站點核心節點ID {11111111-1111-1111-1111-111111111111}並且因此通過手leItemNotFound並進入HandleLayoutNotFound(參數)
我試過使用「requireLogin」屬性,但是我只能訪問loginPage,而不是其他任何我想允許匿名訪問的頁面。
我也嘗試將startItem更改爲登錄頁面,但頁面的所有Url都位於不正確的結構中。
是否有人能夠闡明如何做到這一點?
在此先感謝
您是否找到解決方案?我現在遇到了同樣的問題。 –
我們最終覆蓋了ExecuteRequest管道上的Process方法。在方法結束時,它檢查Context.Item是否爲空。我們將其更改爲null或args.LocalPath ==「/」 – SimonTheGoat