Redhat6でAlfresco4.0.dを構成するレンガの壁にぶつかりました。
Kerberos認証を使用していますが、正常に機能しているようで、メインの屋外アプリ自体でシングルサインオンが機能しています。共有アプリを機能させるための構成手順を実行しましたが、ブラウザが「Windowsセキュリティ」パスワードボックスとともにhttp://server:8080/share
にアクセスするたびに、catalina.outでこのエラーが発生し続けます。
WARN [site.servlet.KerberosSessionSetupPrivilegedAction] credentials can not be delegated!
これが私がこれまでにしたことです:
ADユーザーとコンピューターを使用して、alfrescohttp
アカウントを選択し、「このユーザーを任意のサービスへの委任について信頼する」を選択しました(Kerberosのみ)。
/opt/alfresco-4.0.d/Tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml.sample
をshare-config-custom.xml
にコピーし、次のように編集しました。
<config evaluator="string-compare" condition="Kerberos" replace="true">
<kerberos>
<password>*****</password>
<realm>MYDOMAIN.CO.UK</realm>
<endpoint-spn>HTTP/[email protected]</endpoint-spn>
<config-entry>ShareHTTP</config-entry>
</kerberos>
</config>
<config evaluator="string-compare" condition="Remote">
<remote>
<keystore>
<path>alfresco/web-extension/alfresco-system.p12</path>
<type>pkcs12</type>
<password>alfresco-system</password>
</keystore>
<connector>
<id>alfrescoCookie</id>
<name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using cookie-based authentication</description>
<class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class>
</connector>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfrescoCookie</connector-id>
<endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>
</remote>
</config>
/etc/krb5.conf
ファイルを次のように設定します。
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = MYDOMAIN.CO.UK
default_tkt_enctypes = rc4-hmac
default_tgs_enctypes = rc4-hmac
forwardable = true
proxiable = true
[realms]
MYDOMAIN.CO.UK = {
kdc = mydc.mydomain.co.uk
admin_server = mydc.mydomain.co.uk
}
[domain_realm]
.mydc.mydomain.co.uk = MYDOMAIN.CO.UK
mydc.mydomain.co.uk = MYDOMAIN.CO.UK
/opt/alfresco-4.0.d/Java/jre/lib/security/Java.login.config
は次のように構成されます。
Alfresco {
com.Sun.security.auth.module.Krb5LoginModule sufficient;
};
AlfrescoCIFS {
com.Sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
keyTab="/etc/alfrescocifs.keytab"
principal="cifs/server.mydomain.co.uk";
};
AlfrescoHTTP {
com.Sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
keyTab="/etc/alfrescohttp.keytab"
principal="HTTP/server.mydomain.co.uk";
};
com.Sun.net.ssl.client {
com.Sun.security.auth.module.Krb5LoginModule sufficient;
};
other {
com.Sun.security.auth.module.Krb5LoginModule sufficient;
};
ShareHTTP {
com.Sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
keyTab="/etc/alfrescohttp.keytab"
principal="HTTP/server.mydomain.co.uk";
};
そして最後に、alfresco-global.conf
の次の設定
authentication.chain=kerberos1:kerberos,alfrescoNtlm1:alfrescoNtlm
kerberos.authentication.real=MYDOMAIN.CO.UK
kerberos.authentication.user.configEntryName=Alfresco
kerberos.authentication.cifs.configEntryName=AlfrescoCIFS
kerberos.authentication.http.configEntryName=AlfrescoHTTP
kerberos.authentication.cifs.password=******
kerberos.authentication.http.password=*****
kerberos.authentication.defaultAdministratorUserNames=administrator
ntlm.authentication.sso.enabled=true
私が言うように、私はこれでレンガの壁にぶつかりました、そしてあなたが私に与えることができるどんな助けにも本当に感謝します!この質問はAlfrescoフォーラムにも投稿されていますが、ここserverfaultの人々が同様の実装上の課題に遭遇したのではないかと思いました。
Krb5.confから次の行を削除すると、問題が解決しました。
forwardable = true
proxiable = true