0

そのため、現在取り組んでいるプロジェクトでは、Alfresco開発者コースを受講する前に、ワークフローのコース内から呼び出すカスタムJSPページを次の場所に作成しましたC:\Alfresco\tomcat\webapps\share\custom。現在、誰でもこのjspページにアクセスできます。ただし、場所をに移動するとC:\Alfresco\tomcat\webapps\alfresco\jsp\custom、ページにアクセスするために常にログオンが必要になります。これは私には奇妙に思えます。ただし、ここでの問題は、ユーザーに共有とエクスプローラーの両方へのアクセスを許可したくないため、ここでSSOを構成することを検討していません。グループ「Manager」のユーザー、またはグループ「Manager」から現在ログインしているユーザーのみが、共有側にあるこのページにアクセスできるようにします。以下を追加してみました

C:\Alfresco\tomcat\webapps\share\WEB-INF\web.xmlファイル:

<security-constraint>
        <web-resource-collection>
            <web-resource-name>All</web-resource-name>
            <url-pattern>/custom /*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Manager</role-name>
        </auth-constraint>
    </security-constraint>

しかし、これはうまくいきませんでした。希望する認証を取得する方法について誰かが提案を持っていますか?

ありがとう

4

1 に答える 1

2

Share での認証は、Surf フレームワークによって制御され、具体的にはページ レベルで設定されます。

JSP ページsite-index.jspは、認証済みユーザーを処理する JSP ベースのページの例を提供しますが、それをフレームワークに接続する必要もあります。

これを行うには、次のようなページ定義を作成する必要があります

<?xml version='1.0' encoding='UTF-8'?>
<page>
   <title>My page</title>
   <description>What the page is for</description>
   <template-instance>my-page</template-instance>
   <authentication>user</authentication>
</page>

このファイルを の下に追加しますWEB-INF/classes/alfresco/site-data/pages/site-index.xml

ページがテンプレート インスタンスを参照していることがわかります。これは、次の 2 番目の XML ファイルでmy-page宣言する必要があります。WEB-INF/classes/alfresco/site-data/template-instances

<?xml version='1.0' encoding='UTF-8'?>
<template-instance>
   <template-type>my-page</template-type>
</template-instance>

テンプレート インスタンス XML ファイルの名前 (.xmlサフィックスなし) は、ページの<template-instance>プロパティで指定された名前と一致する必要があります。

最後に、テンプレート タイプ ファイルを作成します(この名前は、テンプレート インスタンス ファイルmy-page.xmlのプロパティと一致する必要があります) 。<template-type>WEB-INF/classes/alfresco/site-data/template-types

<?xml version="1.0" encoding="UTF-8"?>
<template-type>
        <title>Site index landing page template type</title>
        <description>Site index landing page JSP Template Type</description>

        <!-- Define the rendering processors for this template type -->
        <processor mode="view">
                <id>jsp</id>
                <jsp-path>/my-page.jsp</jsp-path>
        </processor>

</template-type>

ファイルmy-page.jspには JSP コードが含まれます。私が言及したようにsite-index.jsp、例としてコアファイルを見てください。

このすべてが機能したら、カスタマイズを AMP ファイルにパッケージ化する必要があります。好みに応じて、Ant または Maven を使用してこれを行うことができます。

于 2012-11-09T11:41:47.727 に答える