Sitecore管理员帐户权限相关问题
在Sitecore管理门户中,我创建了一个具有以下角色的用户 当我打开一个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管理员
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>
因此,如果存在有效版本,且有效版本号小于当前所选项目的版本号,您将收到以下消息:
如果你现在出版,所选版本在网站上不可见,因为它已被旧版本替换。您知道为什么当前编辑的版本被旧版本替换而不可见。我猜您的项目配置了工作流,而新版本至今尚未批准。您知道为什么吗当前编辑的版本已被旧版本替换,因此不可见。我猜您的项目已配置工作流,而新版本尚未获得批准。