2010-03-01 19 views
7

Sto provando a impostare un valore loginPage su un sito Sitecore nel web.config. Il file a cui si fa riferimento in loginPage è un elemento Sitecore, quindi non è una pagina fisica sul server. Non importa come faccio riferimento ad esso, non funziona. Ottengo uno dei 2 errori (dipende da come mi si aggiorna al file);Sitecore: loginPage?

Impossibile trovare la risorsa. Errore nell'esecuzione della richiesta figlio per/sitecore/login. (Il percorso è quello che ho fatto riferimento nel web.config)

Qualche idea?

+1

Potete richiedere il prodotto direttamente nel browser senza essere collegati? Il percorso dell'elemento dell'attributo loginPage deve essere relativo a startPath del tuo sito. Presumo/sitecore/login non è relativo alla root del tuo sito? –

+0

Ho appena scritto un post su questo blog che dovrebbe essere pubblicato domani, quindi posterò un link Sei in una soluzione per un singolo sito? I tuoi siti Nodo config cosa è il percorso di root? Se Root Path =/Home Quindi il percorso Login =/Login So sarebbe/Content/Home/Login nell'albero. Sei in grado di visualizzare la pagina nell'editor? Oppure esperienza editor (Sitecore 8) Se è così hai pubblicato la pagina e il modello? Hai provato a eseguire il rendering di un link che punta alla pagina di accesso? Funziona? Spero che questo aiuti :) Charlie –

risposta

18

Il commento esplicativo in web.config indica che l'attributo 'loginPage' deve essere 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. 'Richiedi accesso' significa negato Autorizzazioni di lettura per l'utente anonimo. Questo utente anonimo è quello nel dominio specificato per questo sito.

Per esempio, se si vuole avere impostato pagina di login per il 'sito' del sito, è necessario assicurarsi che extranet \ Anonymous ha letto il permesso alla voce specificata.

Spero che questo aiuti.

5

L'attributo loginPage è in realtà un URL, non un percorso dell'elemento. Includi il percorso completo con estensione, ad es. /MyAccount/Login.aspx

+0

Provato anche questo - senza fortuna però :-( – kastru

+0

Qual è l'errore che ottieni usando? Suppongo che tu possa accedere direttamente alla pagina usando quell'URL? – techphoria414

1

Prova a digitare l'URL nel browser nella tua pagina di accesso. Se non riesci a raggiungere la pagina stessa o se genera un errore nel browser, l'accesso ad esso nel web.config non funzionerà.

Una volta visualizzata la pagina di accesso nell'URL del browser utilizzando il percorso yoursite/login o qualsiasi percorso di albero sitecore impostato. Quindi aggiungilo a web.config.

Inoltre, nell'albero dei contenuti è possibile fare clic su sicurezza e accedere al visualizzatore per l'elemento di accesso. Quindi seleziona il ruolo anonimo. Se è un problema di sicurezza, vedrai quale ruolo sta influenzando le impostazioni di sicurezza per anonimo.

0

Digitare questo nel browser "Url del proprio sito Web/Sitecore/showconfig.aspx". Qui si otterrà una combinazione di tutti i file .config utilizzati. Inoltre, puoi solo controllare in fiddler (un software) per vedere cos'altro ottieni in risposta a parte la risorsa non può essere trovata.

0

Sarebbe bello se fosse possibile incollare anche le impostazioni applicate in web.config, ma questo è il modo in cui comprendo la domanda.

Si desidera creare una pagina di accesso utente client, non sovrascrivendo la pagina di accesso Sitecore.

In tal caso, è necessario assicurarsi che sia sotto l'articolo iniziale (sitecore> contenuto> home> YOUR_LOGIN_PAGE).

Se al di fuori dell'elemento domestico, ad es. sitecore> contenuto> YOUR_WEBSITE> YOUR_LOGIN_PAGE quindi devi configurarlo nello sitedefinition.config perché è in qualche modo trattato come un nuovo sito e non fa parte del sitecore appena installato.

Per verificare di averlo applicato correttamente, provare ad accedere alla pagina showconfig sul browser (ad es.http://YOUR_WEBSITE/sitecore/admin/showconfig.aspx)

animali supplementari si potrebbe desiderare di controllare due volte:

  • Assicurarsi sono stati in grado di pubblicarlo sul database web, se non provare ad accedere in modalità di anteprima

  • Marchio sicuro che l'elemento abbia il layout e la definizione di rendering. Altrimenti, non funzionerà.

  • Accertati di disporre dell'autorizzazione necessaria per poter accedere alla pagina. Vorrei assumere siete nel ruolo di amministratore

0

Questo problema può essere causato da un'impostazione modificata:

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

che è falso per impostazione predefinita.

In base alle note nel file di configurazione Se è vero, Sitecore utilizzerà Server.Transfer anziché Response.Redirect. Ma Server.Transfer non è una buona opzione per il reindirizzamento regolare della pagina di accesso perché:

ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa fornita dal metodo di trasferimento.

0

È possibile modificare il file in Sitecore.config

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