1

IIS 7 とセッション Cookie を実行していますが、外部の Word ドキュメントに「安全」にしたいリンクがあるため (つまり、それらを表示するにはログインする必要があります)、永続的な Cookie を作成するコードをセットアップしました。ユーザーがログインしたら、リンクされたコンテンツを提供する前に確認します。これは、次の場合にうまく機能します。

1) リンクの URL をコピーしてブラウザに直接貼り付ける場合。2) Visual Studio 8 (IIS Express ではない) に付属するローカル Web サーバーでこれを行う場合

しかし、サーバー自体のファイルを指す Word 文書のリンクをクリックすると、サイトは Cookie を見つけることができず、ログイン ページにリダイレクトされます (ユーザーがログインしたばかりの場合でも (したがって、その Cookie を設定しただけの場合でも))。 - Cookie 管理ツールでその Cookie を確認できますが、有効期限は 20 分です)。

何らかのサーバー設定が欠けているのでしょうか、それとも外部ファイルから URL を開くときに Cookie が読み取られないようなおかしさがありますか? サーバーがローカルで localhost ドメインにアクセスしている場合は問題なく実行できるため、これは間違っているように思えますが、誰にもわかりません!

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

0

設定が見つかりませんでした。ホスティング会社と話し合って、Cookie の読み取りをブロックしている可能性があるものを知っているかどうかを確認しています。

ただし、うまくいきそうな回避策を考えました。基本的に回避策は、Cookie チェックを行ってからリダイレクトする aspx ページにリンクする代わりに、リンクを中間の html ページに移動させることです。そのページには、リンクのファイル パラメーターの URL を解析し、ユーザーを aspx リダイレクト ページにリダイレクトしてそのパラメーターを渡す JS があります。このようにすると、何らかの理由で Cookie が正しく読み取られ、ファイルが提供されます。

これが IE のセキュリティの問題なのか、それともサーバーの設定なのかはまだわかりませんが、少なくともこの回避策でうまくいくようです!

于 2012-06-01T13:07:40.990 に答える