0

目的

すべてのページへの直接 URL アクセスを制限しますが、ユーザーが他のすべてのページを参照する必要Logon.aspxがあることを確認します。

運転者

この要件の背後にある原動力は、社内のセキュリティ部門です。彼らは、アプリケーションが常に安全であることを保証するには、これが唯一受け入れられるソリューションだと考えています。

問題

問題は 2 つあるので、最初の 1 つに対処しましょう。ユーザーがログインしてページにいる場合、URL をコピーし、新しいタブを開き、前のタブを閉じ、URL を貼り付けることができ、セッションは引き続き有効です。なぜこれが起こっているのかは理解していますが、彼らはそれを起こさないようにする必要があると言っています. 理由を聞かないでください。もしそうでなければ、彼らを納得させられるだろうと答えることができれば。

問題の 2 番目の部分は、アプリケーションが最初に作成された方法 (ここに本当に 怒っている顔を挿入) の 2 つの Web フォームが登録に再利用されていることです。これは具体的には、ユーザーがログインしていなくても、これらのページにアクセスできることを意味します。ただし、プロセス フローを通じてこれらのページを明示的に参照し、直接アクセスできないようにする必要があります。

前述の段落の例として、次のことを考えてみましょう。ユーザーは URL を共有フォームの 1 つにコピーし、新しいブラウザーを開き、URL に貼り付けます。セッションは終了していますが、フォームは登録のために表示されます。しかし、彼らは条件を受け入れておらず、すでに壊れやすい流れを壊しているため、これは問題です.

私は何を試しましたか?

正直なところ、何もありません。これまでに見た中で最も優れているのは、ユーザーが最初にログインしていることを確認することです。Cookie を使用する人もいれば、メンバーシップ プロバイダーを使用する人もいますが、ユーザーが既にログインしているという事実は、どちらの問題にも対処できません。

皆様からのご連絡をお待ちしております!

4

1 に答える 1

0

ユーザーがシステムにログインしたら、アクセス権を付与したものを非表示にするポイントは何ですか。とにかく、これを行うにはいくつかの方法があるかもしれません:-

最初の私の提案は、ページを IFrame 内にラップし、右クリックを無効にして、ビューのソースまたはリンク情報にアクセスできないようにすることです。

上記が達成可能です。すべての URL にトークンを添付することもできます。次に、トークンが使用可能かどうかを確認できます。available の場合、リクエストは有効です。そうでない場合、リクエストは無効です。

頭をよぎった場合は、さらに解決策を提供します。

于 2013-01-21T13:44:48.657 に答える