2015-06-19 81 views
5

因此,對於我的Sitecore站點,我試圖讓用戶登錄,因此無法使用Extranet \ Annoymous帳戶。我已閱讀並試圖Sitecore - 需要登錄

Implementing Sitecore Extranet login on a website

但是我錯過了什麼,ASP的窗體身份驗證有副作用的問題,它返回到原來的頁面,從而忽視了桌面或網頁編輯器的用戶的選擇。

我感到沮喪的部分是,似乎這個邏輯已經內置到SiteCore中。例如,如果我嘗試去http://site/sitecore/shell,並且我沒有登錄網站核心將我重定向到登錄頁面。那麼我怎樣才能打開我的整個網站。

UPDATE

我的安全編輯器看起來像這樣 enter image description here enter image description here

即使我取消該Sitecore的對象,並拒絕訪問的主要目的 我仍然可以到達現場。 enter image description here

在web.config我的站點部分看起來像這樣

<sites> 
    <site name="shell" virtualFolder="/sitecore/shell" physicalFolder="/sitecore/shell" rootPath="/sitecore/content" startItem="/home" language="en" database="core" domain="sitecore" loginPage="/sitecore/login" content="master" contentStartItem="/Base" enableWorkflow="true" enableAnalytics="false" analyticsDefinitions="content" xmlControlPage="/sitecore/shell/default.aspx" browserTitle="International" htmlCacheSize="2MB" registryCacheSize="3MB" viewStateCacheSize="200KB" xslCacheSize="5MB" disableBrowserCaching="true" /> 
    <site name="login" virtualFolder="/sitecore/login" physicalFolder="/sitecore/login" enableAnalytics="false" database="core" domain="sitecore" disableXmlControls="true" /> 
    <site name="admin" virtualFolder="/sitecore/admin" physicalFolder="/sitecore/admin" enableAnalytics="false" enableWorkflow="true" domain="sitecore" loginPage="/sitecore/admin/login.aspx" /> 
    <site name="service" virtualFolder="/sitecore/service" physicalFolder="/sitecore/service" /> 
    <site name="modules_shell" virtualFolder="/sitecore modules/shell" physicalFolder="/sitecore modules/shell" rootPath="/sitecore/content" startItem="/home" language="en" database="core" domain="sitecore" content="master" enableAnalytics="false" enableWorkflow="true" /> 
    <site name="modules_website" virtualFolder="/sitecore modules/web" physicalFolder="/sitecore modules/web" rootPath="/sitecore/content" startItem="/home" language="en" database="web" domain="extranet" allowDebug="true" cacheHtml="true" /> 
    <site name="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/Base" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" loginPage="/sitecore/login/Default.aspx" /> 
    <site name="scheduler" enableAnalytics="false" domain="sitecore" cacheMedia="false" /> 
    <site name="system" enableAnalytics="false" domain="sitecore" /> 
    <site name="publisher" domain="sitecore" enableAnalytics="false" enableWorkflow="true" /> 
</sites> 

我知道我的身份登錄,因爲我已將此添加到我的主頁

<asp:Label ID="Id" runat="server"><%=HttpContext.Current.User.Identity.Name%></asp:Label> 

回答

4

解決的辦法是增加

requireLogin="true" 

到現場「網站」標籤

<site name="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/Base" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" requireLogin="true" loginPage="/sitecore/login/Default.aspx" /> 
+0

我會補充說,你拒絕讀取權限說extranet \匿名用戶的家庭項目。您需要將主數據庫發佈到Web以使其正常工作。 – bdoshi

1

在Sitecore的安全編輯器誰,拒絕讀取訪問家庭項目的Extranet \ Anonymous並授予對特定用戶/角色的訪問權限。還要指定Web.config中的登錄頁面,以便在通過身份驗證的會話不存在時重定向用戶。

+0

聽起來那麼容易,但似乎並不奏效,我增加更多的細節問題進行當然我正確理解你 – Mike