1

Jespa を使用して透過的な SSO を行うアプリに取り組んでいます。NtlmSecurityProvider を使用しています。私のコードでは、ユーザー名を取得すると、「DOMAINNAME\username」のようになります。

例えば

<% out.println(request.getRemoteUser()); %>

これを出力します: MYDOMAIN\myusername

これが私の質問です:

ドメイン名ユーザー名で、常にそのように見えますか? それとも、ドメイン内のユーザー アカウントの設定方法だけですか? たとえば、別の Windows ドメインに切り替えた場合、ドメインとバックスラッシュなしでユーザー名だけを取得できる可能性がありますか?

ありがとう!

4

2 に答える 2

1

これは高度に構成可能です。Jespa オペレーター マニュアルの「NtlmSecurityProvider プロパティ」セクションの account.canonicalForm プロパティを参照してください。BUSICORP\sbackus や sbackus@busicorp.local のようなユーザー名を作成したり、単に sbackus やブラウザーが提供したもの (正規化なし) を作成したりできます。

たとえば、getRemoteUser がドメインではなくユーザー名のみを返すようにする場合は、HttpSecurityService プロパティ ファイルで jespa.account.canonicalForm = 2 を設定します。しかし、マルチドメイン環境では、修飾されたアカウント名を使用することがかなり重要になる場合があります!

于 2011-11-01T03:17:51.423 に答える