在IBM Domino中从Session获取AdministrationProcess的同时,在服务器上获取Restri



我需要通过java代码向IBM Domino group添加组成员。我使用Notes.jar连接到IBM Domino v9.0,我的java代码在另一台机器上运行,然后是Domino机器。从Domino文档中,我发现需要使用"AdministrationProcess"类来向组添加成员。但是,当我试图通过调用session.createAdministrationProcess("IBMDominoServer")创建"AdministrationProcess"对象时。我得到错误限制服务器上的操作

我的测试代码如下

public class LotusDomino{
public static void main(String args[]) throws Exception{
    String[] argv = {"192.168.2.111","Administrator","<password>"};
    deleteUser(argv[0], argv[1], argv[2]);
}
private static void deleteUser(String host, String userName, String password) throws Exception{
    Session s = NotesFactory.createSession(host, userName, password);
    try{
        AdministrationProcess process = s.createAdministrationProcess("IBMDominoServer.xanadufinancials.com");
    }catch(NotesException e){
        System.err.println("exception --- "+e.id+":"+e.text+":"+e.internal); // this prints the following error : exception --- 4183:Restricted operation on a server:null
    }
}
无论我传入的服务器名称是什么,代码都会显示相同的错误。所以这不应该是代码问题。我对此做了一些搜索,发现Administrator应该对admin4.nsf具有编辑器访问权限。验证访问权限

请让我知道可能是什么问题。

使用Administration Process是向组添加用户的一种方法,当您不知道Domino服务器上的目录服务是如何配置的时候,这是最安全的方法。但是在大多数基本配置中,将用户添加到组非常简单。你打开名字。nsf数据库,打开Groups视图,找到该组的文档,并将名称添加到Members项中存储的列表中。一个问题是,如果Members列表太长,您可能必须编写能够将其划分为子组的代码(和/或检测现有子组的模式并添加到它们中的代码)。

关于使用NotesAdministrationProcess类,如果我们可以相信错误消息的意思是它所说的意思,那么你的问题是你正在使用的用户id没有权限在服务器上运行受限制的操作。这里是关于代理权限的服务器配置信息的链接。如果您正在使用NCSO.jar(请参阅上面的问题),那么为允许通过IIOP执行受限操作的用户进行单独配置,但我不确定,我的服务器目前已经关闭,因此无法检查。

最新更新