Sitecore管理员帐户权限相关问题

Sitecore管理员帐户权限相关问题,sitecore,Sitecore,在Sitecore管理门户中,我创建了一个具有以下角色的用户 当我打开一个Sitecore项目并尝试使用内容编辑器进行编辑时,它首先要求我在进行任何编辑之前锁定该项目。 当我选择“锁定并编辑”选项时,它会显示 If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version. 当我尝试使用Sitecore管理员

在Sitecore管理门户中,我创建了一个具有以下角色的用户

当我打开一个Sitecore项目并尝试使用内容编辑器进行编辑时,它首先要求我在进行任何编辑之前锁定该项目。 当我选择“锁定并编辑”选项时,它会显示

If you publish now, the selected version will not be visible on the Web site because it has been replaced by an older version.
当我尝试使用Sitecore管理员帐户执行相同的操作时,它不会要求我锁定它,并且编辑工作正常。此用户的Sitecore角色是否存在问题


除此之外,当我选择“锁定并编辑”选项时,它将创建一个新版本,而不是编辑同一版本。对于管理员用户,这不会发生。所以我认为创建新版本是主要原因。

不,这是预期的行为。只有在屏幕截图的“常规”选项卡中选中“用户是管理员”的真正管理员才能绕过这些安全机制。

不,这是预期的行为。只有在屏幕截图上的“常规”选项卡中选中“用户为管理员”的真正管理员才能绕过这些安全机制。

使用Reflector,我选中了使用scEditorWarningTitle scEditorWarningTitle作为警告消息标题类的位置。我发现它在Sitecore.Client.dll中,特别是在Sitecore.Shell.Applications.ContentMnaager.Editor.RenderWarning中。该命名空间还有一个GetWarnings方法,它关闭getContentEditorWarnings管道:

using (new LongRunningOperationWatcher(Settings.Profiling.RenderFieldThreshold, "GetContentEditorWarningsArgs pipeline", new string[0]))
{
    CorePipeline.Run("getContentEditorWarnings", args);
}
查看该管道,我们可以看到它在默认情况下执行以下操作,至少在Sitecore 6.5 update 5中是这样-这在Sitecore的其他版本中可能有所不同:

<getContentEditorWarnings>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemNotFound, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanReadLanguage, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoVersions, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWrite, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteWorkflow, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteLanguage, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsReadOnly, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsLocked, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoFields, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.NeverPublish, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemPublishingRestricted, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.VersionPublishingRestricted, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ShowingInputBoxes, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.FeedIsEmpty, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.RunRules, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.Notifications, Sitecore.Kernel"/>
</getContentEditorWarnings>
因此,如果存在有效版本,且有效版本号小于当前所选项目的版本号,您将收到以下消息:


如果您现在发布,所选版本将在网站上不可见,因为它已被旧版本替换。

使用Reflector我检查了使用警告消息标题的类别scEditorWarningTitle scEditorWarningTitle的位置。我发现它在Sitecore.Client.dll中,特别是在Sitecore.Shell.Applications.ContentMnaager.Editor.RenderWarning中。该命名空间还有一个GetWarnings方法,它关闭getContentEditorWarnings管道:

using (new LongRunningOperationWatcher(Settings.Profiling.RenderFieldThreshold, "GetContentEditorWarningsArgs pipeline", new string[0]))
{
    CorePipeline.Run("getContentEditorWarnings", args);
}
查看该管道,我们可以看到它在默认情况下执行以下操作,至少在Sitecore 6.5 update 5中是这样-这在Sitecore的其他版本中可能有所不同:

<getContentEditorWarnings>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemNotFound, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanReadLanguage, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoVersions, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWrite, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteWorkflow, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.CanWriteLanguage, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsReadOnly, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.IsLocked, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.HasNoFields, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.NeverPublish, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ItemPublishingRestricted, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.VersionPublishingRestricted, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.ShowingInputBoxes, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.FeedIsEmpty, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.RunRules, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetContentEditorWarnings.Notifications, Sitecore.Kernel"/>
</getContentEditorWarnings>
因此,如果存在有效版本,且有效版本号小于当前所选项目的版本号,您将收到以下消息:


如果你现在出版,所选版本在网站上不可见,因为它已被旧版本替换。

您知道为什么当前编辑的版本被旧版本替换而不可见。我猜您的项目配置了工作流,而新版本至今尚未批准。您知道为什么吗当前编辑的版本已被旧版本替换,因此不可见。我猜您的项目已配置工作流,而新版本尚未获得批准。