0

データベース内に多数の連絡先を持つ Java Spring アプリケーションがあります。ここで、これらの連絡先を CardDAV 経由で提供して、外部デバイスから連絡先にアクセスできるようにします。

私が CardDAV を理解している限り、それは「既知の」プロトコルを使用しています。つまり、検索しますhttp://mydomain.com/.well-known/carddav

Tomcat サーバーが実行されており、複数のアプリケーションが実行されており、それぞれが CardDAV サーバーを提供する必要があるため、これは問題になる可能性があります。つまり、URL は次のようになります。

  • http://mydomain.com/appOne/

  • http://mydomain.com/appTwo/

  • http://mydomain.com/appThree/

これらの各アプリケーションには、まったく異なるユーザーとデータのセットがあります。ただし、これらの CardDAV リポジトリはそれぞれ独自のデータ ソースを検索し、独自の認証メカニズムを使用する必要があります。

もちろん、問題は次のとおりです。単一のドメインで複数の異なる CardDAV サーバーを取得するにはどうすればよいですか?


ところで: CardDAV に関する実際の情報はありますか (WebDAV だけでなく、すべて同じですか?!)?

たとえば、複数のリポジトリ/アクセス権の制限については何も見つかりませんでした。おそらく、複数の異なるユーザーを持つ単一の CardDAV サーバーが必要で、各ユーザーには独自のアドレス帳があり、共通のアドレス帳がいくつかあります。

4

2 に答える 2

1

既知の URL は、ユーザーがドメイン名を入力するだけで、クライアントが carddav サーバーのルートを自動的に検出するために使用されます。ドメインごとに 1 つのサーバーにしかリダイレクトできませんが、複数の carddav サーバーにリダイレクトするように複数のドメインをセットアップできます。

複数のサブドメインを使用できない場合、well-known を使用することはできません。代わりに、アカウントをセットアップするために、プリンシパルへの完全な URL を入力するようにユーザーに依頼する必要があります。

「本当の」情報があるかどうかの質問について。rfc6352は公式ドキュメントです。それは間違いなく単なる WebDAV ではありません。

于 2013-10-24T18:00:20.423 に答える
0

事実上、iOS は well-known のみをサポートします。iOS デバイスが well-known 経由で接続できない場合、ユーザーは完全なプリンシパル アドレスを入力できますが、それはユーザーにエラー メッセージが表示された後でのみであり、その時点でほとんどのユーザーはあきらめます。

ただし、リダイレクトは認証後に発生するため、ルートで認証できる限り (たとえば、「appOne:brad」などのサブサイトを組み込んだユーザー名スキームを使用)、それを実行できるはずです。または、前述のように、サブドメインのみを使用します。

于 2013-10-24T22:08:53.167 に答える