代理知识

代理运行时,困难在于如何确定检查哪个用户的权限!
代理中涉及的用户包括:代理作者,又称签署人或所有者;代理调用者。
代理能否运行,取决于代理的类型、代理运行的地点,在此基础上来检查调用者或签署人的权限。

具备数据库READER权限的用户才可以运行代理,否则是不行的。
但是运行的代理只能更新那些他们至少拥有编辑访问权限的文档。在确定代理的调用者有权运行代理之后,用代理创建者的权限来决定代理可以做什么

1.代理可以运行四种类型的代码:
  简单操作、公式、LotusScript、JAVA。每一种都有不同的安全机。
-简单操作与公式构成的代理对谁可以运行它们没有限制,ACL中的权限决定了代理能对哪里文档进行访问 -LS和JAVA代理则分为受限和不受限两种,其设置在服务器--安全--受限和不受限LS/JAVA代理中设置人员来控制。
受限制的LS/JAVA代理是比较常用,它禁用一些特性,如I/O,不受限则不受这些限制,因此此时的代理可以回避NOTES的安全

2、个人代理和共享代理   
  前面提到的四类代理中的任一个都可以是个人或共享的代理。
  有权访问包含了代理的数据库的任何人都可以看到或者运行共享代理,其中包括代理创建者。
  个人或私有代理只能被代理创建者看到或运行,要创建一个个人代理至少需要读者权限,拥有设计者权限才能创建享代理,否则最多只能创建个人代理。
  服务器安全段中有有关个人代理运行权限的设置,为空时所有用户都可以运行个人代理,否则不行。不能过WEB客户访问个人代理。

3、嵌入式代理
代理可以调用其他代理,而这些代理的创建者可以不同,施加于顶层代理的限制传播给嵌入式代理中,因   此不要试图使用个人代理中嵌套自己本身无权进行操作,而嵌入代理的所有者有权进行的操作的代理来实现越自己权限范围的事务。

  如果让代理更新另一个服务器上的文档,该用户必须有权访问该服务器。对于所有代理,NOTES使用服务文档中的安全段中的访问服务器字段中的值来检查是否有对服务器进行访问的权限。


二部分.为群集设置私有局域网 (LAN)文档
前提:
DOMINO服务器已经配置了成群集服务器。

步骤
为群集设置私有局域网(LAN)分两大步骤:
为DOMINO服务器分别设置公用局域网和私有局域网 TCP/IP 端口。
将配置的私有局域网分配给群集使用。

一.为DOMINO服务器分别设置公用局域网和私有局域网 TCP/IP 端口     1.确保正确配置了TCP/IP网络软件,并且安装的每个网络接口卡都有一个可以ping的独立IP地址。
2.如果安装了TCP/IP作为网络驱动程序,那么第一个端口应已经被配置(即公用局域网使用)。
3.要新添端口给私有局域网,进入管理客户端,选择“服务器““工具”“设置端口”“新建”。在“新建端口”对话框中,输入CLUSTER,选中TCP作为驱动程序,,并单击“确定”退出,确认新建了一个端口。需要时可继续新添端口。
4. 编辑 NOTES.INI 文件。步骤 1 和 2 中创建的端口语句行如下:
portname=drivername,0,15,0,,12288
TCP=TCP, 0,15,0,,12288
CLUSTER=TCP, 0,15,0,,12288
5. 为上面定义的每个端口添加一行,按如下语句说明它的 IP 地址和端口号:
PORTNAME_TcpIpAddress=0,IP Address:port number
其中 PORTNAME 是所定义的端口名。
端口号可以是任何数字,大于 5000。缺省值是 1352。
例如:对于端口 TCP 和 CLUSTER,需要添加以下行:
例:
DOMINO A
TCP_TcpIpAddress =0,192.168.0.1:1352
CLUSTER_TcpIpAddress =0,100.0.0.1:1352

DOMINO B
TCP_TcpIpAddress =0,192.168.0.2:1352
CLUSTER_TcpIpAddress =0,100.0.0.2:1352

 6.新建服务器间连接文档,使用端口为3中新建的“CLUSTER”端口。

二.将配置的私有局域网分配给群集使用
将下列内容添加到 NOTES.INI 文件中:
Server_Cluster_Default_Port=Cluster Port
其中 Cluster Port 是为群集创建的端口。此例中,此行为:
Server_Cluster_Default_Port=CLUSTER

完成以上配置重新启动服务器。

 


三部分:影响代理运行的情形
  根据运行代理的特点,可能改改变代理限制,如在桌面上还是在服务器上,前台还是后台,或者在NOTES客户端还是WEB客户端。以下依次解释:
   1、桌面或服务器
      如果代理是基于服务器的数据库上一个代理的一部分,它运行在服务器上,而且有以下触发条件之一: 
     *在新邮件到达以前
     *在新邮件到达以后
     *创建或者修改了文档
     *按每小时、每天、每周或每月的时间日程安排
     在服务器上运行的时候,除非服务器是本地的,否则检查所有约束和ACL。其它所有代理(通过以下菜单选项调用:操作菜单、列表选择或文档粘贴)均运行在工作站上,而不管数据库本身在本地还是在服务器上。这一点大家要注意。运行在工作站上的代理将受到当前运行者的权限约束。若代理在WEB运行,Notes将执行所有的约束和ACL检查,这是因为此时代理总是在服务器上运行。

   2、前台或后台   
      前台和后台的概念我个人感觉上和第一点比较类似,不过的确有此一说,主要分别在于大家在写代码时能否用到的一些类,一般在类中不要使用UI类,这是前台类,这个规定在目前社区中形成了一个约定俗成的规则,但实际上如果代理是在前台运行,你可以根本不理会这个规则,但如果代理在后运行请不要使用前台类,会出现以前很多同志们提出来的错误。
      前台运行的代理中使用到UI类的话,一定要先保存文档,否则好象会出错。
 *如果代理通过NOTES用户界面触发(手工通过操作菜单、按钮调用代理或从代理列表选择执行),NOTES前台运行代理,这种代理中可以使用UI类。
 *如果通过日程安排或事件(如文档更新、新邮件到达等)调用代理,则NOTES在后台运行代理。
 *前后台的代理概念不能用于WEB调用的代理,因为此时代理总是在WEB服务器运行,它结合了前台和后台两种环境。

--本地数据库也可以设成要根据ACL的权限。此外,本地代理有一个要考虑的重要因素,就是ECL。

--在服务器上运行的时候,除非服务器是本地的,否则检查所有约束和ACL。其它所有代理(通过以下菜单选项调用:操作菜单、列表选择或文档粘贴)均运行在工作站上,而不管数据库本身在本地还是在服务器上。运行在工作站上的代理将受到当前运行者的权限约束。若代理在WEB运行,Notes将执行所有的约束和ACL检查,这是因为此时代理总是在服务器上运行。

--服务器(非本地)上的数据库的代理,运行时代码是load到本地运行,而不是指运行本地数据库上的代理。

--代理运行在客户端与数据库本身所处的位置无关,凡是通过操作菜单、列表选择或文档粘贴等方式触发的代理全部在客户端运行,这时与服务器没有关系,是不会检查ACL和约束的。
    即使是数据库在服务器上,只要代理在本地运行,也不会受到代理签名者限制,而是按照代码本身提供的所有功能来执行,不会受到限制。

3、在Notes客户机上
   当从Notes客户触发(通过日程安排或者事件)服务器后台代理时,代理总是以代理创建者的权限运行。
   为了了解谁是代理创建者,查看Info选项卡的代理属性信息框或者Fields选项卡中的$UpdatedBy字段的。要改变代理创建者,应以代理创建者的身份登录并编辑和保存代理(如果更换用户,则该用户对数据库要有设计者权限才能修改公用代理的作者)。

4、在Web客户机上
   在Web客户机上运行代理与在Notes客户上运行代理一样,代理约束由代理创建者决定。然而,Notes使用理调用者或者代理创建者的数据库权限来验证数据库访问。默认情况下,Web用户以代理创建者的权限运行代理。然而在Design选项卡的代理属性中选择“作为WEB用户运行代理”时,可以指定WEB用户代表自己(自己指创建者)运行代理。如果选定这个选项,系统会提示用户输入相关用户名和密码(已登录则不用)。然后根据用户名检查数据库ACL中的权限。
   仅仅通过Notes客户(不是WEB用户)就可以创建代理。只有共享代理才能运行在WEB客户上。WEB无调度机制,因此运行在WEB上的代理无法在预定义的时间运行。如果在代理创建过程中有设置代理何时运行,则该代理只适用于从Notes客户运行的代理。代理操作对象选项则对所有代理有效。WEB不支持以下四个选项:
   *视图中所有未读文档
   *视图中所有文档
   *已选定的文档
   *粘贴的文档
  
--理解“作为WEB用户运行代理”。 他与不选种这个选项的区别仅在于session.currentusername的不同。
-- 应该还有权限的检查时会有不同吧,并不仅仅是用户名不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值