在Sitecore中指定登录页面

时间:2015-12-13 19:59:13

标签: sitecore

如何指定登录页面?我在尝试访问某个页面时遇到了这样的错误:

  

错误:需要登录,但没有为网站指定有效的登录页面(网站名称)。

我的webconfig包含以下记录:

<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="/Home" enableWorkflow="true" enableAnalytics="false" analyticsDefinitions="content" xmlControlPage="/sitecore/shell/default.aspx" browserTitle="Sitecore" 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="/home" 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="/shop/account/login"/>
  <site name="scheduler" enableAnalytics="false" domain="sitecore" />
  <site name="system" enableAnalytics="false" domain="sitecore" />
  <site name="publisher" domain="sitecore" enableAnalytics="false" enableWorkflow="true" />
</sites>

我尝试将网站中的登录页面路径设置为loginPage属性,但它不起作用

1 个答案:

答案 0 :(得分:2)

此错误仅在以下三种情况下发生:

  1. 网站的loginPage属性缺失或为空。
  2. 您目前处于“修改”或“预览”模式 AND shell网站未定义或其loginPage未定义或为空。
  3. Sitecore.Context.Sitenull
  4. 要解决此问题,您可以尝试以下操作:

    1. 确定您要访问的页面<site>属于哪个页面。您是100%确定它是<site name="website">吗?
    2. 验证该网站的loginPage属性是否为空。
    3. 通过在查询字符串中添加?sc_mode=normal,打开您在“正常”模式下收到错误的页面。
    4. 在文件系统中,转到与页面的URL路径对应的每个文件夹。查找 site.config 文件,如果找到,请查看其中定义的网站。此类网站定义可能会遗漏loginPage,如果Sitecore找到一个,则不会查看 Web.config 中的主<sites>部分即可。
    5. 尝试将?sc_site=website添加到您的查询字符串中,以强制Sitecore.Context.Site指向正确的<site>定义。