3

コードを使用して ServerVariable("Something") に値を割り当てることは可能ですか? IIS経由で行う代わりに?

このような単純なものですか?

Request.ServerVariables("LOGON_USER")="テスト"

別のフォーラムで次のことも見つけました。

Request.ServerVariables.Add(名前, 値)

しかし、両方で同じエラーが発生し続けます:「宣言が必要です」

背景:

私がやろうとしているのは、(「LOGON_USER」)変数をあるアプリケーションから別の(別のドメイン上の)アプリケーションに渡して、何らかの方法でシングルサインオンを可能にすることです。隠し変数を新しいサーバーに渡し、それらを適切なサーバー変数に割り当てたいと考えています。その後、応答または要求を編集する必要がありますか? 私はこれでオフですか?

4

2 に答える 2

2

通常、シングル サインオンはこの方法では実装されません。通常、最初のシステムでユーザーを認証し、安全なトークンを作成してから、そのトークンをいくつかの識別情報と共に 2 番目のシステムに渡します。2 番目のシステムはトークンと追加データを検証し、成功した場合は、2 番目のシステムでユーザーを認証します (通常は認証 Cookie を作成することによって)。

このリンクは 1 つのアプローチの概要を示していますが、他の手法については Google で検索できます: http://msdn.microsoft.com/en-us/library/ms972971.aspx

于 2012-03-22T13:36:10.390 に答える
0

サーバー変数を設定できます (ただし、通常は要求ではなく応答を変更する必要があります)。これを行う場所として最も可能性が高いのは、カスタム HttpModule です。ここで詳細情報を見つけることができます:

http://learn.iis.net/page.aspx/686/setting-http-request-headers-and-iis-server-variables/

http://forums.asp.net/t/1125149.aspx

于 2012-03-22T12:58:24.347 に答える