使用googlegson的lotusdominojava安全问题
试图在通过Xpage启动的java方法中使用 我可以毫无问题地创建gson对象,但是当尝试调用使用googlegson的lotusdominojava安全问题,java,xpages,gson,lotus-domino,Java,Xpages,Gson,Lotus Domino,试图在通过Xpage启动的java方法中使用 我可以毫无问题地创建gson对象,但是当尝试调用gson.toJson(jsonObj)时,我得到以下错误: HTTP JVM:java.lang.SecurityException:不允许访问成员 类内java.util.HashMap HTTP-JVM:at lotus.notes.AgentSecurityManager.checkMemberAccess(未知源) HTTP JVM:at java.lang.Class.checkMember
gson.toJson(jsonObj)
时,我得到以下错误:
HTTP JVM:java.lang.SecurityException:不允许访问成员
类内java.util.HashMap
HTTP-JVM:at
lotus.notes.AgentSecurityManager.checkMemberAccess(未知源)
HTTP JVM:at java.lang.Class.checkMemberAccess(Class.java:112)
HTTP JVM:at java.lang.Class.getDeclaredConstructor(Class.java:419)
守则:
HashMap<String, Object> jsonObj = new HashMap<String, Object>();
jsonObj.put("apiStatus", apiStatus);
Gson gson = new Gson();
String json = gson.toJson(jsonObj); // Exception thrown on this line
HashMap jsonObj=newhashmap();
jsonObj.put(“apiStatus”,apiStatus);
Gson Gson=新的Gson();
字符串json=gson.toJson(jsonObj);//此行上引发异常
我已经看到,但我已经实施了两项建议的政策变更,但两项变更似乎都没有任何效果:
授予{
权限java.lang.reflect.ReflectPermission“suppressAccessChecks”;}
格兰特代码库“xspnsf://server:0/path/to/your/db.nsf/-" {
权限java.security.AllPermission;}
以下是几乎相同的例外: 使用 应该是这样的。如果不想保持此打开状态,请检查
授权代码库的语法:
在此设置中,您必须更改数据库的路径(通过
仅替换/path/to/your/db.nsf/,而不是服务器:0)
如果您不喜欢更新服务器文件系统上的安全文件,可以避免使用gson,并用xpages自己的JSON序列化程序替换它。请参阅我的博客文章:
谢谢David,我会看一看。8.5.2版之后的Domino附带的软件包(我想)是。谢谢Panu,我需要在最后一个斜杠后加上破折号吗?我从来没有用过这个,但所有说明中都有破折号,所以我相信是的。
grant { permission java.security.AllPermission; };