![](/img/trans.png)
[英]403 Forbidden when authorizing in multitenancy keycloak with credentials
[英]HTTP 403 forbidden error when Use Keycloak to protect a Tomcat App
我整整一天都在努力解决这个错误。 我一次又一次地在tomcat中检查我的Keycloak和APP的配置,但没有发现错误。
APP的配置:
1.Keycloak.json是从Keycloak控制台复制而来的
2.context.xml也正确,因为它在“localhost”场景下工作正常
3.web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<module-name>Keycloak-Tomcat-App</module-name>
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>init pages</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
-->
<security-constraint>
<web-resource-collection>
<web-resource-name>All roles pages</web-resource-name>
<url-pattern>/roles/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>this is ignored currently</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>user</role-name>
</security-role>
我创建了一个名为csf-admin的用户,并将角色“admin”和“user”分配给csf-admin
1)在linux.1上使用broswer访问linux.3上TOMCAT中部署的APP(用户https)
2)我的broswer可以打开Keycloak Auth页面(用户https,linux.2上的keycloak)
3)登录keycloak为csf-admin
4)Keycloak将我重定向到APP网址(使用https)
5)HTTP 403“禁止访问指定的资源。” 到场
我真的不知道根本原因.....需要你的帮助.....
由于问题是在提交登录页面和来自Keycloak IDP的重定向之后,问题应该是客户端应用程序(APP)尝试连接到访问令牌的IDP时的问题。
从客户端应用程序到IDP可能存在连接问题。 可以使用telnet命令对其进行测试(使用您的IDP的https端口)。
可能存在IDP SSL证书验证问题。 检查是否使用了正确的域名。 或者,如果您的客户端应用程序信任CA.
另请参阅链接的post wildfly集成与keycloak 403禁止错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.