java - 尝试通过 SOAP 网络服务创建或访问用户对象时,PermissionChecker 未初始化 Liferay 异常

标签 java web-services liferay tomcat7 liferay-6

我在这个问题上挣扎了很长一段时间,每次它重新出现时,我都会做一件事,即有时更改整个 tomcat 和数据库,这让我感到非常尴尬。

我尝试过研究这个问题,但都毫无结果。

总是给出错误[http-bio-8080-exec-11][UserServiceSoap:858] com.liferay.portal.security.auth.PrincipalException:PermissionChecker未初始化 com.liferay.portal.security.auth.PrincipalException:PermissionChecker 未初始化

我已经尝试过这个解决方案https://www.liferay.com/en_GB/community/forums/-/message_boards/message/21257074这导致实际阅读这篇文章 https://www.liferay.com/en_GB/community/wiki/-/wiki/Main/JAAS/maximized但一切都毫无进展。

我在liferay tomcat的portal-ext属性文件中进行了很多更改,但似乎没有发生任何事情。

我曾经能够使用soap通过网络服务创建用户并操纵用户,并且在不更改源代码的情况下,这个问题总是会自行启动。

请协助我找到正确的解决方案。

最佳答案

经过一次认真的 session 检查所有可能的问题并比较内部liferay的其他tomcat实例,发现com.liferay.portal.servlet.filters.secure.SecureFilter设置为false默认情况下,soap 身份验证应该为 true。

在出现问题的实例上,它在门户扩展文件上设置为 false,这一行实际上解决了问题或只是将其注释掉。

com.liferay.portal.servlet.filters.secure.SecureFilter=true

但是,请确保 axis.servlet.hosts.allowed 设置为具有调用 URL IP,否则在这种情况下您将收到 403 http 状态代码,拒绝您访问实例:

axis.servlet.hosts.allowed=127.0.0.1,localhost,192.168.0.xxx,your-ip-address

这就是解决这个问题所需的全部。

谢谢,我希望这对遇到类似问题的人有所帮助。

关于java - 尝试通过 SOAP 网络服务创建或访问用户对象时,PermissionChecker 未初始化 Liferay 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26486320/

相关文章:

calendar - Liferay:在列表页面中显示日历事件的相关资源

java - 将语句插入 Derby 数据库

java - Cygwin 编译错误 Problematic frame : # C [cygwin1. dll+0xd6d47] using JNI

java - 将 JavaScript 资源插入 Liferay Portlet

web-services - 如何将通用 KeyValuePair<Tkey,TValue> 传递给 WebMethod?

java - 在 Eclipse 中从 Java Web 服务生成 WSDL

JSP:解释变量时出现问题

java - 将具有类型参数的类传递/返回给函数

java - 与四方进行 Diffie-Hellman key 交换

java - PayPal:callBack url 和 returnurl 有什么区别?