起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 325|回复: 16

【结贴】[缓存问题]代码创建人员不能登陆系统!**

[复制链接]
发表于 2007-10-11 19:10:33 | 显示全部楼层 |阅读模式
在功能中代码创建了一个人员,然后将这个人员分配到一个岗位下。 然后注销,使用这个新创建的用户登录系统,系统提示 没有给人员分配岗位。 在Studio 中刷新以下组织机构缓存,再登陆就没有问题了。有没有办法在代码中实现组织机构的刷新,实现新建用户,分配到岗位后可以直接注销登录系统,而不用退出!
回复

使用道具 举报

发表于 2007-10-12 09:48:45 | 显示全部楼层
关闭当前平台,重新进入就可以了,你看看

正常情况也是系统管理员来进行组织机构的修改,其他的人然后在登录平台的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-12 10:12:37 | 显示全部楼层
需求是这样,客户那里用同一的门户进行管理。X3只是诸多系统中一个。部门和岗位基本上是确定下来的。当使用X3中存在的用户进行单点登陆X3 已经解决了。问题是当一个X3种没有的用户登录的时候,希望代码创建一个X3的人员,同时登陆系统。权限都在岗位上分配好了。现在的问题是 使用这个新创建的人员不能登录系统,也就是说在这种情况下 第一次肯定不能成功登陆。不知道有没有办法,我将服务端的组织机构缓存禁用了,还是一样的错误 !
回复 支持 反对

使用道具 举报

发表于 2007-10-12 11:35:10 | 显示全部楼层
目前没有接口来主动刷新缓存,只能关闭重新打开运行了,

已经作为需求提交
回复 支持 反对

使用道具 举报

发表于 2007-10-12 15:03:41 | 显示全部楼层
可以预定义一个客户如guest,当X3没有这个客户时,就使用预定义好的客户来登陆。这样效果不是一样吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-22 10:52:41 | 显示全部楼层
不是呀, 登陆的人是需要不同的权限的,也就是多个系统的用户需要同步,包括权限在内,目前的想法是,用户管理系统告诉x3 在什么样的岗位下新建了一个人员,x3中将权限分配到岗位上,当用户请求的时候,根据岗位信息建立人员和人员成员,直接登录系统
回复 支持 反对

使用道具 举报

发表于 2007-10-22 15:18:08 | 显示全部楼层
不懂,既然可以预定义好岗位为什么就不能预定义好人员呢。完全可以预定义guest1,guest2,guest3等等不同岗位下的人员来提供不同的权限登陆阿。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-23 13:37:12 | 显示全部楼层
人员是门户系统管理的,不能说在门户中建立了新的用户,也要管理员在X3中建立一个用户吧! 如果是N个系统需要集成到门户中,难道还需要在各个系统中都建立一个用户吗? 这样的话怎么体现单点登陆呢 肯定达不到要求的 希望提供一个可行的方案!
回复 支持 反对

使用道具 举报

发表于 2007-10-23 16:25:20 | 显示全部楼层
此问题已作为缺陷提交。
回复 支持 反对

使用道具 举报

发表于 2007-10-30 10:15:50 | 显示全部楼层
我这里用代码创建了人员以后,不退出,直接注销马上就可以登陆的,以下是我的代码
procedure TMainForm.Button1Click(Sender: TObject);
var
    lBizURL,lPositionMemberBizURL,orgBizURL,lPersonBizURL,lDeptBizURL, lPositionBizURL: TBizURL;
    pesID,PesName,psnID,psnName,AOrganID,AOrganName,DeptID,DeptName:string;
begin
    lBizURL := TBizURL.Create;
    lPositionMemberBizURL := TBizURL.Create;
    lPersonBizURL := TBizURL.Create;
    lDeptBizURL :=TBizURL.Create;
    lPositionBizURL :=TBizURL.Create;
    orgBizURL:=TBizURL.Create;
    DeptID:='MMMM';
    DeptName:='自动创建部门';
    pesID:='RRR';
    PesName:='测试用人员';
    psnID:='QQQQ';
    psnName:='QQQQ';
    AOrganID:='A';
    AOrganName:='A';
    //创建机构
    try
      orgBizURL.url:= 'Org:\ROOT';
      if not BizSys.BizSystem.URLExists('Org:\ROOT\'+AOrganID+'.ogn') then //不存在该对象才创建。
      OrgSystem.CreateOrgan(orgBizURL,AOrganID,AOrganName);
     finally

     end;

    //创建部门
     try
        lDeptBizURL.URL := 'Org:\ROOT\A.ogn';
        if not BizSys.BizSystem.URLExists(lDeptBizURL.URL+'\'+DeptID+'.dpt') then //不存在该对象才创建。
        OrgSystem.CreateDept(lDeptBizURL, DeptID,DeptName);
     finally

     end;

    //创建岗位
    try
    lPositionBizURL.URL := 'Org:\POSITION';
    if not BizSys.BizSystem.URLExists('Org:\POSITION\'+psnID+'.ptn') then //不存在该对象才创建。
    OrgSystem.CreatePosition(lPositionBizURL,psnID, psnName);
    finally
   // lPositionBizURL.Free;
    end;
   //分配岗位
   try
       lDeptBizURL.URL := 'Org:\ROOT\A.OGN\MMMM.dpt';
       lPositionBizURL.URL :='Org:\POSITION\'+psnID+'.ptn';
      if (not BizSys.BizSystem.URLExists(lDeptBizURL.URL+'\'+psnID+'.ptm')) and BizSys.BizSystem.URLExists(lPositionBizURL.URL) then //不存在该岗位成员,但存在该岗位才分配。
       OrgSystem.AssignPosition(lDeptBizURL, lPositionBizURL);

    finally
       lDeptBizURL.Free;
     //  lPositionBizURL.Free;
    end;



    //创建人员
    try
      lBizURL.URL := 'Org:\ROOT\A.OGN\MMMM.dpt';
      if not BizSys.BizSystem.URLExists('Org:\PERSON\'+pesID+'.psn') then //不存在该对象才创建。
      OrgSystem.CreatePerson(lBizURL, pesID, PesName);
    finally
      lBizURL.Free;

    end;
    //分配人员
    try
    lPositionMemberBizURL.URL := 'Org:\ROOT\A.OGN\MMMM.DPT\QQQQ.ptm';
    lPersonBizURL.URL := 'Org:\PERSON\RRR.psn';
      if (not BizSys.BizSystem.URLExists('Org:\ROOT\A.OGN\MMMM.DPT\QQQQ.ptm'+'\RRR.psm')) and BizSys.BizSystem.URLExists('Org:\PERSON\RRR.psn') then //不存在该人员成员,但存在人员对象才分配。
         OrgSystem.AssignPerson(lPositionMemberBizURL, lPersonBizURL);
    finally
      lPositionMemberBizURL.Free;
      lPersonBizURL.Free;
      jsdialogs.ShowMsg('创建测试用人员RRR完成!分配人员成员成功','提示');
    end;

end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 07:59 , Processed in 0.042452 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表