2014-03-25 56 views
0

我有一個網站,我試圖遷移到我的Sitecore實例。 Sitecore實例有多個站點。對於我嘗試遷移的網站,有一個供外部用戶登錄的登錄頁面。我正在驗證這個對外部數據庫。這一切迄今爲止都有效。我的問題是我需要防止外部用戶訪問某些頁面而不登錄(他們應該被重定向到登錄頁面)。當站點位於Sitecore之外時,這種方式起作用的是,表單身份驗證正在完成,並且當頁面試圖在用戶未登錄的情況下訪問時,ReturnURL將用於將用戶返回到正確的頁面登錄。Sitecore Extranet身份驗證

我不知道如何做到這一點,現在我有我的sitecore實例內的多個網站。

有什麼建議嗎?

回答

1

這與Sitecore之前的操作方式並無太大區別,除非您現在可以通過Sitecore安全編輯器登錄用戶來控制哪些頁面的安全性。有幾件你需要連接起來才能正常工作。

必須通過這些文章讀,他們應該提供你所需要得到的一切這個工作:

套裝使用patch config將web.config中的<setting name="NoAccessUrl" value="/sitecore/service/noaccess.aspx" />的值設置爲您的登錄頁面(這可以是Sitecore中的項目),並且如果用戶嘗試訪問受限制的頁面,他們將被重定向到該頁面ge,它還將包含返回url參數。

如果您使用的是外部數據庫,然後進行身份驗證的用戶,您還需要實現自己的成員提供:

一定要正確設置domain屬性您的<site>定義爲您在domains.config中設置的任何內容,並設爲您的<provider>定義的providerName銀行足球比賽。

+0

如果在沒有登錄的情況下不應該訪問的頁面上看到任何問題,我檢查用戶是否已登錄,如果沒有,我只是將它們重定向到登錄頁面?這對我來說會容易得多。我閱讀了「設置Sitecore Extranet」文章,在我看來,至少當用戶註冊該網站時,他們需要在實際登錄之前添加到角色中。我不認爲這是功能I真的很想。 – AspUser7724

+0

我沒有看到任何問題,如果需要,您可以處理重定向,但是您可以在註冊時以編程方式將用戶添加到必要的角色。這樣,安全性就可以從Sitecore中設置,並且可以由高級用戶進行更改,您可以根據需要添加/刪除角色和內容部分,並且意味着什麼都不是硬編碼。 – jammykam

+0

哦,好的,感謝您的回覆。謝謝。如果我保持它當前的方式,我通過調用server.urlencode並附加登錄頁面的LinkManager.GetItemUrl來設置返回URL。問題在於登錄頁面的url如下所示:http:// mysite/login?ReturnUrl = http%3a%2f%2fsitecore%2fpage1%2fpage2%2fpage3%3fid%3d14。有沒有辦法讓網址看起來像一個正確的重定向網址?而不是給整個路徑? – AspUser7724