0

Mac OS 10.6.8 サーバーで SVN のパス ベースのアクセスを実装しようとしています。htpasswd を使用してアカウントを追跡すると、すべてが正常に機能します。しかし、Open Directory と統合して、チーム メンバーがパスワードを簡単に変更できるようにしたいと考えています。ただし、mod_auth_apple は提供された認証として公開されていないように見えるため、authz_svn はそれを認証に使用できることを認識しません (Apache ログに「認証プロバイダーが構成されていません」というエラーが表示されます)。

Open Directory が ldap を介して利用できることは知っていますが、mod_authn_ldap には、Mac OS X サーバーにインストールされている標準の Apache バージョンが付属していません。株式配布に authz_svn が含まれている場合、これを機能させる方法があると思います (ただし、Apple を信用しすぎている可能性があります)。Apache のカスタム ビルドを使用せずにこの作業を行った人はいますか?

4

1 に答える 1

0

これを行う方法を見つけたのは、数日間モンキーをした後です。authn_file モジュールを追加し、AuthBasicAuthoritative off も追加しました。これはまだ mod_auth_apple で認証を強制しているようですが、AuthUserFile が指定されていない場合でも失敗しません。また、認証情報を authz_svn に渡し、アクセス制御を適切にチェックできるようにします。Apache に詳しい人が、なぜこれが機能するのかを適切に説明してくれることを願っています。

したがって、私の場所のディレクティブは次のようになります

<Location "/">
    Options All -Includes -ExecCGI -Indexes +MultiViews
    <IfModule mod_dav.c>
        DAV svn
        SVNPath /Users/path/to/repo
    </IfModule>
    AllowOverride None
    AuthName "Svn Repo"
    AuthType Basic
    AuthzSVNAccessFile /Users/path/to/access/file.txt
    AuthBasicAuthoritative Off
    Require valid-user
</Location>

厄介なことに、サーバーがホストする他のすべてのサイトに AuthBasicAuthoritative Off を追加する必要があります。

于 2013-02-28T20:47:23.227 に答える