1

他のシステムから受信したデータを使用して会社のカレンダーを作成するアプリケーションを開発しています (これは、より大きな J2EE アプリの一部であり、カレンダーのエクスポートには ical4j を使用しています)。クライアントの要件の 1 つは、「シークレット トークン」をカレンダー同期リンクに配置して、カレンダー同期用に以前に生成されたリンクを使用できないようにリセットできるようにすることでした。つまり、次のように機能します。

  • ユーザーが「リンクのエクスポート」ボタンをクリックすると、カレンダー同期のリンクが表示されます (iCal、Google カレンダーなどにコピーして貼り付けることができます)。リンクは次のようになります。

(サーバー/定数部分) + ユーザー名 + 秘密コード (ランダム、ユーザーごとに一意のトークン)

  • ユーザーはそれをコピーし、自分の電話/他のカレンダーリーダーとカレンダーの同期を実行します

  • 各同期要求の後 (電話がサーバーにカレンダー同期を要求するたびに) アプリケーションは、要求からのトークンがデータベースに保存されているものと一致するかどうかを確認し (トークンが有効な場合)、一致する場合はカレンダー (*.ics ファイル) が返されます。

  • たとえば、電話が盗まれた場合、ユーザーはこの秘密のトークンをリセットできます。また、電話がサーバーにカレンダーの同期を要求すると、要求からのトークンとデータベースからのトークンが異なり、カレンダーが返されません。

私の質問は、ユーザーにエラーを表示する (または何か問題が発生したことを知らせる) 可能性 (iCalendar 形式のサポートまたはその他の方法) があるかどうかです。つまり、ユーザーが間違った/期限切れのトークンでカレンダーを同期しようとすると、(thunderbird + lightning でテストされた) 同じ古いカレンダーが表示されるだけです - エラーはなく、何も更新されていないという情報はありません (私ができることだけ) get はサーバー上のログ エントリです)。いくつかの半解決策は空のカレンダーを送信することですが、実際の解決策というよりも「ハック」のように見えます。

助けてくれてありがとう。

4

1 に答える 1

0

そうですね、401 Unauthorized HTTP応答(新しいレルム文字列を使用)を送信すると、クライアントにパスワードダイアログが表示される可能性があります(再度)。

(403 ForbiddenがLightningで役立つことを行うかどうかは、試してみないとわかりません。)

于 2011-03-14T10:32:30.177 に答える