2016-08-02 5 views
0

AEMで資産のセキュリティと承認を提供する方法はありますか?AEMで資産のセキュリティと承認を提供する方法はありますか

アセットをページにドロップすると、すべてのアセットはログイン後にエンドユーザーによって表示されます。ページ上のアセットを(たとえログインできるとしても)特定のユーザーだけに表示するように制限する必要があります。ユーザーにアセットのURLがあり、ログイン後にアセットを表示できます。

アセットを特定のユーザーに制限することは、ページにログインすることさえできます。

あなたのお時間をいただきありがとうございます。

答えて

1

この機能は、AEMのOOTBでサポートされています。資産への適切なアクセス権を持つ適切なグループを構築する必要があります。デフォルトで公開インスタンス '匿名'ユーザーは/ content/damに関する読み取り権を持ちます。

    • (あなたはこの使用/ USERADMINコンソールを実行する必要がある)を使用すると、アクセスを無効にし、それに応じてそれらを更新するために他のすべてのグループのチェックも、匿名ユーザーのアクセスを削除する作成 - あなたは次の操作を行う必要があります
    • これらの各グループには、/ content/damの下にある関連フォルダへのアクセスが用意されています。
    • これらのユーザーにユーザーを追加します(ユーザーにグループを介してアクセスを管理する方がよい)。必要に応じてグループ

    ユーザーがログインすると、そのグループにのみ制限されたアセットにアクセスできます。

    AEMでのユーザー管理の詳細については、this articleを参照してください。

    +0

    リンクされた記事はAEMコミュニティに固有のものだと思います。ユーザーとアクセスコントロールに関する一般的な情報はhttps://docs.adobe.com/docs/en/aem/6-2/administer/security/security.htmlにあります。 –

    +0

    ありがとう、リンクを更新しました –

    +0

    Useradminの代わりにプログラムで行う方法はありますか?すべてのユーザー、グループの設定があります。しかし、私たちは作者にプロパティを選択させることができるはずです。ユーザー管理者になることはできません。 – Karthik

    0

    あなたは、作成者がアセットを表示できるグループを制御できるようにしたいとしました。したがって、コンポーネントの作成者ダイアログでは、すべてのユーザーグループを作成して、作成者に対して構成可能にします。あなたのコードで、グループがアセットパスに対して許可を持っているかどうかを確認します。

    UserManager userManager = resourceResolver.adaptTo(UserManager.class); 
    Authorizable auth = userManager.getAuthorizable(<<group configured by author>>); 
    JackrabbitAccessControlManager acm = (JackrabbitAccessControlManager) adminSession.getAccessControlManager(); 
    Set<Principal> principals = new HashSet<Principal>(); 
    principals.add(auth.getPrincipal()); 
    Privilege[] privileges = acm.getPrivileges(<<current assets path>>, principals); 
    

    権限の権限アレイをチェックすることができます。グループに許可がある場合は、アセットをレンダリングするだけです。

    関連する問題