pfc 安全工具

来源:互联网 发布:知乎推荐书单精华 编辑:程序博客网 时间:2024/05/17 05:54
1.将pfc/security 目录下
pfcsecad.pbl;
pfcapsrv.pbl;
pfcdwsrv.pbl;
pfcmain.pbl;
pfcutil.pbl;
pfcwnsrv.pbl;
pfeapsrv.pbl;
pfedwsrv.pbl;
pfemain.pbl;
pfeutil.pbl;
pfewnsrv.pbl;

pfc.db是数据库  ,创建odbc连接 并调整pfcsecad.ini中数据库连接

2.使用 pfcsecsc类库生成pfcsecsc.exe文件,记住不要生成带pbd的文件
选择的结果写入pb.ini 文件中

3.运行pfcsecadmin文件,


记住不要直接修改pfeapsrv中的n_cst_appmanager,因为安全管理对象也继承了它,
若修改会产生错误的,应该继承它在子类进行设计

pfc提供的安全工具还可以,但是给用户用就显得麻烦了。这适用于权限相当明确。
的,程序定义完就不需要调整权限的,只需为建立用户和给用户加入组就可以了。

可以对工具进行扩充,如隐藏一些列的显示。隐藏一些要设置的对象。给用户只显示
菜单对象(这样权限分配到窗口级)。这样用户看了也容易明白,能使用哪个菜单项进行设置.




其实只需求控件到窗体就可以了,可能有个别窗体需求控件 哪些按钮可用,哪些按钮不可用。哪些用户可
以查看表格的哪些列。

可以这样来实现:
   1.(实现窗口级控制) 在frame窗口  启用安全 of_setsecurity(this) 用它来控件菜单的权限。
      注意其它窗口不要设置该语句。
   2.(个别窗口控件级控制)如果要对窗口里的控件进行控制(要使用超级用户给该控件设置相应的权限)
     在窗口pfc_preopen中  of_setsecurity(control)如cb_1,注意不要使用this.如果使用this
     会造成一些用户不能进入该窗口(设置了调用该窗口的相应菜单权限后,但没有设置该窗口上的控件权限)。

应用安全

启用服务 gnv_app.of_SetSecurity(TRUE)
将pfc.db中的几个表移到应用库中
Integer li_return
初始化安全对象 (初始化用权限)
li_return =gnv_app.inv_security.of_InitSecurity(sqlca, "应用程序名称",“用户id”,"默认权限组")  如果用户没有所属组,
将使用默认组权限。 用户权限优先组权限 ,组权限按优先级适用(0级最高)
为窗口启动安全性:

在窗口的Open或 pfc_PreOpen事件中调用 n_cst_security of_SetSecurity函数:
gnv_app.inv_security.of_SetSecurity(this)
它会自动处理要隐藏的禁用的控件,数据窗口列,菜单等。
注意:
of_setsecurity(arg) 的参数为window可以正常使用,但是当参数为
其它对象,数据窗口时不好用或者说设置方法太复杂(千万不用)。
也就是说:arg为window时,只需设置要控件的对象即可。(不需要在对父对
象进行权限设置,如设置 dw权限,不需对 里面的数据窗口对象也设置权限。按钮控件也不需要
对其父对象进行权限设置,而arg为 dw,button等其它控件时,需要先对其父对象进行设置才有效。

 
原创粉丝点击