0
私はResteasy restサービスの一部を、WebアプリケーションにKeycloakベアラ専用トークン検証を追加することで確保しようとしています。私のweb.xmlにセキュリティ制約が原因で404
私が追加:
<security-constraint>
<web-resource-collection>
<web-resource-name>RestService</web-resource-name>
<url-pattern>/rest/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>RestService</realm-name>
</login-config>
<security-role>
<role-name>user</role-name>
</security-role>
<servlet>
<servlet-name>RestApplication</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.web.rest.ResteasyApplication</param-value>
</init-param>
<init-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>RestApplication</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
を私はURLを呼んでいる:http://localhost:8090/rest/app
これは限り認証が行くように動作しません。有効なトークンを持つリクエストのみが「受け入れられる」(他のものは401エラーになります)
ただし、この設定を使用すると、常に404エラーが発生します。
security-constraintを無効にすると、Resteasyコントローラがブレークポイントにヒットし、すべて正常です。 マッピングが互いに競合していますか?認証フェーズからResteasy処理へのリクエストをどのように渡しますか?
のご
<login-config>
使用<auth-method>KEYCLOAK</auth-method>
では、同様にあなたのkeycloakアダプタの設定を共有していただけますか? – Boomer404はkeycloak.jsonが見つからないことが原因です。私はそれが正しくXML構成の代替を使用していると思ったが、それは使用されなかった。 – Cloud