起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: jianth2005

【结贴】代码控制权限 ?**

[复制链接]
发表于 2009-6-25 09:34:20 | 显示全部楼层
最初由 jianth2005 发布
[B]分配过去了
但是我用刚刚分配了功能的账号去登陆
怎么还是见刚刚分配的功能啊 ? [/B]


看的不是很明白。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-25 09:43:12 | 显示全部楼层
就是我用代码分配给新账号权限,
然后用新账号去登陆系统,登陆进去没有看到我刚刚分配给新账号的功能啊。
回复 支持 反对

使用道具 举报

发表于 2009-6-25 09:57:37 | 显示全部楼层
你做的代码贴出来看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-25 10:11:58 | 显示全部楼层
var
  ListItem:TListItem;
  APersonURL:TBizURL;
  AOrigin:TOrgUnit;
  AItems:TOrgFuncAllocItems;
  lContextCurrent: TContextCurrent;
begin
  APersonURL :=TBizURL.Create;
  try
    if stringUtils.PosAnsi('.psm',SysUtils.LowerCase(strPerURL))>0 then
    begin
      APersonURL.URL :=strPerURL;
      AOrigin :=OrgSys.OrgSystem.GetUnit(APersonURL);
      AItems := AOrigin.Module.RunFuncAlloc;
      if not AItems.ExistFunc(ListView2.Selected.Caption) then
      begin
        AItems.AddItem(ListView2.Selected.Caption);
        ListItem :=ListView1.Items.Add;
        ListItem.Caption :=ListView2.Selected.Caption;
        ListItem.SubItems.Add(ListView2.Selected.SubItems[0]);
        //dialogs.ShowMessage('分配成功');
      end;
    end;
  finally
    APersonURL.Free;
  end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-25 10:41:16 | 显示全部楼层
有哪里出问题的吗?
回复 支持 反对

使用道具 举报

发表于 2009-6-25 10:45:42 | 显示全部楼层
等等,我测试下。
回复 支持 反对

使用道具 举报

发表于 2009-6-25 11:00:39 | 显示全部楼层
你14楼代码没有保存呀。
我这边这样测试了一下,结果是可以的:
procedure TMainForm.AssignFunc(UserURL, FuncURL: string);
var
  AParent : TBizURL;
  lOrigin : TOrgUnit;
  lItems : TOrgFuncAllocItems;
  i : Integer;
begin
  AParent := TBizURL.Create;
  try
     AParent.URL := UserURL; //用户URL
     lOrigin := OrgSys.OrgSystem.GetUnit(AParent);
     lItems := lOrigin.Module.RunFuncAlloc;

{     Memo1.Clear;
     for i := 0 to lItems.Count - 1 do
       Memo1.Lines.Add(lItems.FuncURL);
}
     //lItems.Clear;
     if not lItems.ExistFunc(FuncURL) then
       lItems.AddItem(FuncURL);
     OrgSys.OrgSystem.SaveUnit(lOrigin);
  finally
     AParent.Free;
  end;
end;

调用代码
procedure TMainForm.Button1Click(Sender: TObject);
var
  Server: TFileSystemCacheServer;
begin
  fsmngr.OrgSystemManager.UseLocalCache := False;
  AssignFunc(UpperCase('Org:\ROOT\SXQYZB.OGN\CWB.DPT\ZJL.PTM\ZY.psm'),
    UpperCase('Biz:\CSLZ\CSLZ3\DMFPGN.Func'));
  fsmngr.OrgSystemManager.UseLocalCache := True;

  Server := TFileSystemCacheServer.Create;
  try
    Server.AddURLs(';', SysSrv.SysService.ServerURL);
    Server.EnsureOrgSystem(BizSys.BizSystem.ClientAccount);
  finally
    Server.Free;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-25 11:38:53 | 显示全部楼层
可以是可以了
但是还是有问题啊,我分配了功能给它之后,
怎么会变成这个样子啊?

qx.jpg

70.1 KB, 下载次数: 161

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-25 11:41:22 | 显示全部楼层
如果分配的功能是在“业务功能”中是没有问题的
如果在别是文件夹中就是有问题的
回复 支持 反对

使用道具 举报

发表于 2009-6-25 11:42:29 | 显示全部楼层
配置一下业务功能树。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 15:14 , Processed in 0.044588 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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