1

私の Web サイトは .Net で実行されており、SDL Tridion 2009 を使用しています。ユーザーがログインすると、REMOTE_USER 変数が要求ストアの taf:server:variables グループに正しく格納されていることがわかります (.net スクリプトを使用) )。

カートリッジ (Java) でこの値を抽出しようとしていますが、クレーム ストア内のすべてを印刷すると、この値が空白であることがわかります。

私のJavaコードは次のようになります:

Map serverParameters = (Map)claimStore.get(WebClaims.SERVER_VARIABLES);

for (Object key: serverParameters.keySet()) {
  log.debug("Key : " + key.toString() + " Value : " + serverParameters.get(key));
} 

アップデート:

私のカートリッジ構成には、次のinputclaimが含まれています。

<InputClaims>
   <ClaimDefinition Uri="taf:server:variables" />
</InputClaims>

これは残念ながら役に立ちません。私も taf:server:variables:remoteuser / remote_user / * を試しましたが成功しませんでした。

ログを調べると、キー REMOTE_USER が表示されますが、値は空白です。

他の誰かがこのシナリオを見て、解決策を知っているかどうか疑問に思っていました.

4

1 に答える 1

3

要求が認証なしで行われた場合 (つまり、匿名アクセスが許可されている場合)、REMOTE_USER を空にすることは完全に有効です。

それが最も明白な問題のようです。常に設定されるとは限りませんが、カートリッジで処理したい場合に正しく入力されるように、サーバー上の関連する URL に対して認証スキームを強制することはもちろん可能です。

PSサーバー変数はカートリッジではなくHTTPモジュールによって設定されるため、この場合、入力クレームセクションは関係ありません。input クレームと output クレームは、カートリッジ間の依存関係 (およびカートリッジの順序) を決定するためにのみ使用されます。

于 2012-06-21T12:37:42.863 に答える