2015-09-28 65 views
2

也许我刚刚用完了我的Google mojo,但我无法弄清楚这一点:如何设置Sitecore 8默认登录重定向/开始页面?

在Sitecore 8用户设置中,我可以为每个用户设置一个“起始URL” - 换句话说,页面/网址,用户在登录成功后被定向到。设置此值的界面看起来是这样的:

enter image description here

如果我点击关闭桌面并点击保存,该StartUrl字段的值设置为/sitecore/shell/default.aspx,并且用户被重定向到经典“灯塔”桌面。

如果我点击关闭内容编辑和点击保存,该StartUrl字段的值设置为/sitecore/shell/applications/clientusesoswindows.aspx和用户被重定向到内容编辑,有效/sitecore/shell/Applications/Content editor.aspx(一个额外的重定向时)。

如果我点击关闭默认和点击保存,该StartUrl字段的值设置为空字符串,并且用户被重定向到Launchpad的事,有效地/sitecore/shell/sitecore/client/Applications/Launchpad.aspx

我的问题是:如何更改默认行为,即我怎么决定该用户被重定向到,如果他或她选择默认?我希望他们在默认情况下转到内容编辑器,他们并不喜欢Launchpad。

回答

0

当您选择默认在用户管理器,它能够有效地设置用户配置文件StartUrl值清空。这只是在用户登录后将您的网站导向/sitecore

/sitecore有一个302重定向到发射台。我还没有制定出设定的地方。

一个选项是自定义loggingin管道。造成这种情况的默认设置是:

<loggingin argsType="Sitecore.Pipelines.LoggingIn.LoggingInArgs"> 
    <processor mode="on" type="Sitecore.Pipelines.LoggingIn.ClearCache, Sitecore.Kernel" /> 
    <processor mode="on" type="Sitecore.Pipelines.LoggingIn.CheckClientUser, Sitecore.Kernel" /> 
    <processor mode="on" type="Sitecore.Pipelines.LoggingIn.CheckStartUrl, Sitecore.Kernel" /> 
</loggingin> 

你可以在代替CheckStartUrl处理器添加一个新的处理器,如果StartUrl是空的,它更新到您的默认的设置等...

类似这样的*:

public class CustomCheckStartUrl : CheckStartUrl 
{ 
    protected override bool ValidateStartUrl(LoggingInArgs args) 
    { 
     var isValid = base.ValidateStartUrl(args); 

     // override the default start url 
     if (string.IsNullOrWhiteSpace(args.StartUrl)) 
     { 
      args.StartUrl = Sitecore.Configuration.Settings.GetSetting("MyDefaultStartPage", string.Empty); 
     } 

     return isValid; 
    } 
} 

并将其修补到管道中。

*未测试代码