在Sitecore中指定登录页面

在Sitecore中指定登录页面,sitecore,Sitecore,如何指定登录页面?我在尝试访问某个页面时遇到这样的错误: 错误:需要登录,但未为站点(sitename)指定有效的登录页 我的网络配置包含以下记录: <sites> <site name="shell" virtualFolder="/sitecore/shell" physicalFolder="/sitecore/shell" rootPath="/sitecore/content" startItem="/home" language="en" database="c

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

错误:需要登录,但未为站点(sitename)指定有效的登录页

我的网络配置包含以下记录:

<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属性,但它不起作用

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

  • 站点的
    loginPage
    属性缺失或为空
  • 您当前处于“编辑”或“预览”模式
    shell
    站点未定义,或其
    loginPage
    未定义或为空
  • Sitecore.Context.Site
    null
  • 要对此进行故障排除,您可以尝试以下操作:

  • 确定您正在访问的页面属于哪个
    。您是否100%确定这是
  • 验证该站点的
    loginPage
    属性是否为空
  • 通过在查询字符串中添加
    ?sc_mode=normal
    ,打开在“正常”模式下获取错误的页面
  • 在文件系统中,转到与页面URL路径对应的每个文件夹。查找site.config文件,如果找到,请查看其中定义了哪些站点<这样的站点定义中可能缺少code>loginPage,如果Sitecore找到了,它将不会查看Web.config中的主
    部分
  • 尝试将
    ?sc_site=website
    添加到查询字符串中,以强制执行
    Sitecore.Context.site
    以指向右侧的
    定义

  • 这是Sitecore中的一个页面(/shop/account/login)?因为它必须指向不需要登录的站点中的物理文件或页面,并且如果您的站点需要登录,则无法工作。Trayek,是的,是的。现在我不知道为什么它不起作用。可能路径设置不正确。。但URL很好用。SiteDefinition.config文件中还有其他网站吗?或者您只使用网站?非常感谢!!!我已经为此花了很多时间。。。没有你,我无法修复它。我ve试图直接访问“网站”的定义,添加?sc_site=website,结果发现它工作正常。在此之后,我找到了另一个带有另一个站点定义的we配置文件,并在其中添加了一个登录页面url。。这很有帮助!你真棒@用户1561325我很高兴能帮上忙:)