2010-12-01 12 views
0

背景共通ゲートウェイ経由でASP .NETアプリケーションへのアクセスを強化する方法は?

私の仕事では、デスクトップアプリケーションからWebアプリケーションに移行しています。 ASP .NET Webアプリケーション(Webサイトではありません)は.NET Framework 2.0を使用し、IIS 7.0上で動作します。

環境の概要

我々は1つのルートのアプリケーションや特定のビジネスニーズを満たすいくつかのWebアプリケーションを持っていると思います。例えば、ルートアプリケーションAアプリケーションBアプリケーションC。ルートアプリケーションでは、ユーザーがアクセスするすべてのアプリケーションへのリンクを表示します。 Windows認証を使用し、アプリケーション固有のアクセスレベル(SQL Server 2008データベース)のテーブルを管理しています。

質問

は、私たちの目標の一つは、唯一ルートアプリケーションからそのアプリケーションにアクセスするユーザーを強制することです。つまり、ブックマークにアクセスするにはhttp://AppServer/Root/ApplicationAとしてアプリケーションAにブックマークしないようにします。我々はむしろ彼らにhttp://AppServer/Rootに行き、へのリンクをクリックして、アプリケーションAにアクセスしてください。

これをどのように達成できますか?私はここで高レベルのアイデアが必要です。

多くの方に感謝します。

答えて

1

ゲートウェイから、期限切れのトークンを使用するフォーム・ポストを介してアプリケーションを起動します。トークンはブックマークに保存できません。ユーザーがトークンなしでアプリを押すと、ゲートウェイにリダイレクトされます。トークンはゲートウェイアプリケーションによってのみ生成され、子アプリによって検証されます。ユーザが子アプリで検証されると、セッション変数を保存してアプリの他の部分にアクセスできるようになります。

+0

私は、ゲートウェイからSessionIDを作成し、それをアプリケーションへの要求に追加することを考えていました。アプリケーションにいくつかのコードを入れて、SessionIDがアクティブかどうかを確認します。私はあなたが何か似たようなことを言っていると思いますが、より組織的に、lolzです。あなたが言ったルートを取るだろう。ありがとう。 – KalC

3

httpリクエストのリファラーフィールドを確認します。

+0

おそらくコーラルランドではうまくいくかもしれませんが、ユーザーはこのフィールドを使いこなすこともできますし、完全にオフにすることもできます。 – spender

関連する問題