インタラクティブな使用のために主にSAML(mod_auth_mellonプラグインを使用)を使用して認証するApacheサーバー(ub16では2.4.18+)にパスを設定できるようにしたいのですが、呼び出し元が基本認証をプリエンプティブに送信することもサポートしています資格情報。 (通常はインタラクティブフォームログインをトリガーするREST apiエンドポイントですが、基本認証資格情報を事前に送信するとバイパスが許可されます。)
基本的に私はこの振る舞いを探しています:
そのようなことは可能ですか?これをアプリケーション自体にプッシュバックしたくないのですが。
私が起こしたくないのは、Apacheサーバーが基本認証ダイアログをトリガーする応答を送り返すことです。
私自身の質問に答える....これについてもう少し掘り下げて、うまくいくように見える次のものを思いついた:
<Location />
<If "-n req('Authorization')">
AuthName "Active Directory"
AuthBasicProvider ldap
AuthType basic
AuthLDAPMaxSubGroupDepth 0
AuthLDAPBindAuthoritative off
AuthLDAPRemoteUserAttribute sAMAccountName
AuthLDAPInitialBindPattern (.+) $1@yyyyy
AuthLDAPInitialBindAsUser on
AuthLDAPSearchAsUser on
AuthLDAPCompareAsUser on
AuthLDAPUrl "ldaps://xxx,dc=com?sAMAccountName,memberOf?sub"
LDAPReferrals Off
require valid-user
</If>
<Else>
Require valid-user
AuthType "Mellon"
MellonEnable "auth"
MellonVariable "cookie"
MellonEndpointPath "/sso"
MellonDefaultLoginPath "/"
MellonSubjectConfirmationDataAddressCheck Off
MellonSessionLength 86400
MellonSPPrivateKeyFile /...../sp-private-key.pem
MellonIdPMetadataFile /...../idp-metadata.xml
MellonDoNotVerifyLogoutSignature https://........
</Else>
</Location>
誰かがこのアプローチに何か問題があると思いますか?