2015-06-19 17 views
5

Tak więc dla mojej witryny Sitecore próbuję zrobić to tak, aby użytkownik był zalogowany i nie może używać extranetu \ Annoymous account. Czytałem i próbowałSitecore - Wymagaj logowania

Implementing Sitecore Extranet login on a website

Ale brakowało mi czegoś, uwierzytelnianie formularzy ASP kwestie uboczne, że powrót do oryginalnej strony, a tym samym ignorując opcję użytkownika pulpitu lub Page Editor.

Częścią, w której jestem sfrustrowany jest to, że wydaje się, że ta logika jest już wbudowana w SiteCore. Na przykład, jeśli próbuję przejść do http://site/sitecore/shell i nie jestem zalogowany, rdzeń witryny przekierowuje mnie na stronę logowania. Jak mogę to włączyć dla całej mojej witryny.

UPDATE

Bezpieczna Editor wygląda to enter image description here enter image description here

Nawet gdybym UNPROTECT obiekt Sitecore i odmówić dostępu do obiektu głównego nadal mogę dostać się do serwisu. enter image description here

W web.config moja sekcja Miejsca wygląda następująco

<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> 

ja wiem, kim jestem zalogowany jako ponieważ dodałem to do mojej głównej

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

Odpowiedz

4

Rozwiązaniem było dodać

requireLogin="true" 

się do serwisu „Witryna” tag

<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

Dodam do tego, że po odmowie zgody na odczytanie elementu Home dla ekstranetu \ Anonimowy użytkownik. Aby to działało, musisz opublikować główną bazę danych w Internecie. – bdoshi

1

W Sitecore Editor Bezpieczeństwa , odmów dostępu do odczytu do elementu głównego dla extranetu \ Anonymous i przyznaj dostęp do określonego użytkownika/roli. Określ także stronę Logowanie w pliku Web.config, aby użytkownicy mogli zostać przekierowani, gdy sesja uwierzytelniona nie istnieje.

+0

Brzmi to łatwe, ale które nie wydają się działać dodaję więcej szczegółów na pytanie dokonania jestem pewien, że zrozumiałem cię poprawnie – Mike