メディアのアップロード中に「Application access denied」エラー


解説

デフォルトのロールであるsitecore/Sitecore Client Authoring、およびsitecore/Authorには、[クラシック アップロード]ダイアログに必要なCoreデータベースの/sitecore/content/Applications/Dialogs/Uploadアイテムへの読み取りアクセス権がありません。許可されていないユーザーを使用して[クラシック アップロード]ダイアログからメディアをアップロードしようとすると、以下の例外が発生します:

[AccessDeniedException: Application access denied.]
   Sitecore.Diagnostics.Assert.HasAccess(Boolean accessAllowed, String message) +114
   Sitecore.Diagnostics.Assert.CanRunApplication(String application) +92
   Sitecore.Shell.Applications.Dialogs.Attach.AttachForm.OnLoad(EventArgs e) +53
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
   System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +128
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +146
   System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +34
   Sitecore.Reflection.ReflectionUtil.InvokeMethod(MethodInfo method, Object[] parameters, Object obj) +130
   Sitecore.Reflection.ReflectionUtil.CallMethod(Type type, Object obj, String methodName, Boolean includeNonPublic, Boolean includeInherited, Boolean includeStatic, Object[] parameters) +261
   Sitecore.Reflection.ReflectionUtil.CallMethod(Type type, Object obj, String methodName, Boolean includeNonPublic, Boolean includeInherited, Object[] parameters) +113
   Sitecore.Reflection.ReflectionUtil.CallMethod(Object obj, String methodName, Boolean includeNonPublic, Boolean includeInherited, Object[] parameters) +124
   Sitecore.Web.UI.Sheer.ClientPage.OnLoad(EventArgs e) +424
   Sitecore.Shell.Web.UI.SecurePage.OnLoad(EventArgs e) +63
   Sitecore.Shell.Applications.Dialogs.Attach.AttachPage2.OnLoad(EventArgs e) +44
   System.Web.UI.Control.LoadRecursive() +216
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4004

解決策

この事象を解決するには、ユーザーをsitecore/Sitecore Client Authoringロールのメンバーにしてください:

  1. デスクトップでCoreデータベースに切り替えます。
  2. コンテンツ エディターを開き、sitecore/content/Applications/Dialogs/Uploadアイテムに移動します。
  3. [セキュリティ]タブをクリックし、 sitecore/Sitecore Client Authoringロールに開いたアイテムへの読み取りアクセス権を付与します。