2012-01-11 11 views
6

私の問題は簡単に解決できるはずだと思うので、私は非常に辛いです。ロールメンバーシップのない認証されたユーザーのweb.xmlのセキュリティ制約

Glassfish 3.1.1でカスタムレルムを使用しています。このカスタム領域(AppservPasswordLoginModuleInterfaceを実装する)は、HTTPS要求からセキュリティトークンを受け取り、セキュリティトークンを検証し、ユーザーをGlassfishに返します。

セキュリティトークンにはグループが含まれていないため、メソッドpublic String [] getGroupsList()またはカスタムレルムが空のリストを返します(正しくはセキュリティトークンにロールがないため)。

つまり、検証済みのユーザーだけがログインできるというセキュリティの制約があります。​​

しかし、私は任意のグループを持っていないので、私はロールにどのグループにマップすることはできませんので、私は役割でのauth-制約を使用することはできません:私はweb.xmlに次の制約を使用することができることを知っています-名。

web.xmlには、認証されたユーザだけが許可されていることを定義し、どのロールに含まれているかを無視して、ロールにまったく入っていないかどうかを無視する方法があります。

私は実装できませんソリューションのカップルがあります。

  • をLDAPスキーマとLDAPユーザがセキュリティにどのようにマッピングされるかの方法は、スコープの私たちのうちトークンので、私は、役割が含まれるように基本的なLDAPを変更することはできませんが、 。
  • 現在のカスタムレルムハンドラを使用する必要があります。私はそれをデフォルトグループを返す自分のものと置き換えることはできません。私はこれを一度試してみたところ、それはうまくいった。しかし、カスタムレルムは一般的なものでなければならないので、既存のカスタムレルムを自分のものと置き換えることはできません。

しかし、実際にはweb.xmlには次のような意味があるはずです:すべてのグループとロールを無視して、認証されたユーザーだけが欲しいですか?

ご協力いただければ幸いです。

答えて

15

かなり古いが、答えをお探しの方のために、あなたは*ロール名を使用することができます。

<auth-constraint> 
    <role-name>*</role-name> 
</auth-constraint> 

This guyは、それを解決するために管理。

+0

Weblogic 10.3.4では動作しません。 –

+0

WF10.1.0で動作します。 *も設定することを忘れないでください(*が内にある場合は動作しません)。 –

関連する問題