1

Tomcat 7 を実行しています - Weblogic または JBoss を使用していません。LoginModule を取得して HttpServletRequest にアクセスするにはどうすればよいですか?

jboss を使用し、weblogic で同様の方法を使用している場合は、PolicyContext を介して実行できることを理解しています。しかし、JBoss も Weblogic も実行していません。私はすべてのTomcatを実行しています。

それが可能かどうか誰にもわかりますか?

すべてのリクエストに対して呼び出される Filter があり、Filter で HttpSession にいくつかの情報を設定します。私の LoginModule では、その情報にアクセスする必要があります。

繰り返しますが、私は Jboss や Weblogic を実行していません。これは、人々がリクエストにアクセスできる唯一の方法です。

4

1 に答える 1

3

Tomcat 7 は、(JBoss 7 とは異なり) LoginModule からの httprequest へのネイティブなアクセスを許可しません。自分で実装する必要があります。そのために、JBoss と同じ原則を使用できます。

  • 現在の httprequest を ThreadLocal (JBoss の org.jboss.as.web.security.SecurityContextAssociationValve) に保存するバルブを作成します。
  • ThreadLocal に保存されている値を読み取るだけで、LoginModule の現在の httprequest を取得します (JBoss は PolicyContext オブジェクトとハンドラー org.jboss.as.web.security.HttpServletRequestPolicyContextHandler をそのために使用します)。
于 2013-12-19T21:17:18.657 に答える