本章节将介绍集算授权的配置与网格文件的相关权限。
为防止未经许可查看或访问网格文件,集算器提供了网格文件加密功能,加密有如下两层权限:
执行权:可以填写参数并执行网格。可以查看网格描述,但不能修改这些信息。在只拥有执行权时,无法看到单元格中的任何字串以及网格变量。在运行后,可以看到运行后单元格的格值。
完全控制权:可以对网格文件进行任何操作。
例如,网格如下:
|
A |
B |
1 |
Minimum Population |
500000 |
2 |
$(demo) select * from CITIES |
/Get data from table CITIES. |
3 |
$(demo) select STATEID, ABBR from STATES |
/Get data from table STATES. |
4 |
=A3.select@1(ABBR==state).STATEID |
/Find the STATEID of the given state. |
5 |
=A2.select(POPULATION>B1&& STATEID==A4) |
/Find the cities. |
6 |
return A5 |
|
在网格中,B列中是用注释填写的信息
点击Tool>Cellset description,可以设定网格描述:
在网格中,使用了state作为参数:
在菜单栏中点击Tool>Cellset password,可以在弹出的Cellset password窗口中设置密码:
密码的设定分为两部分:在上方Input password后面可以设定完全控制权的密码;在下方None password privilege后面可以设定无密码时的权限。
设定密码时,只需将密码填入密码框中即可,如上面设置abc为网格的完全控制权密码。
设定无密码时的权限可以在下拉框中选择只允许执行,或者完全控制:
如果选择For full control,则说明无密码时即可使用最高的完全控制权,此时在上方设定的密码将被清空,相当于解除网格的加密设定。
如果我们在网格中设置abc为完全控制权密码,无密码权限为For execution只可执行,然后保存并关闭网格。在再次打开网格时,系统会按照无密码时的权限打开网格,如下:
|
A |
B |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
可以看到,在加密后,如果只有执行权限,网格中的代码是全都不可见的,即使是注释格中的内容也不会显示。另外,执行权限下,是不能对网格执行加密操作的。此时点击Tool>Cellset description,仍然可以查看网格描述,但是无法修改:
另外,网格中常数格的值可以在值显示区看到,执行后网格参数的值也可以在右下的网格变量列表中看到:
拥有执行权时,可以在工具栏中点击按钮执行网格计算。如果网格参数需要在运算前设置,仍然会弹出输入窗口:
设置参数后,网格执行计算,计算后返回了结果的单元格会变色,但是单元格中的代码仍然处于加密状态:
|
A |
B |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
此时点击单元格,可以在右侧查看单元格的值,如A5格的值如下:
执行权限下,在菜单栏中点击Tool>Unlock advanced privilege,可以解锁网格到完全控制权,需要正确输入密码:
在完全控制权下,可以查看或修改网格中的所有代码,也可以进行加密或解密等操作:
集算器的版本通过授权文件来控制,不同版本支持的功能是有差异的,各个版本的具体情况,以及获得授权文件的途径,请参阅官方网站http://www.raqsoft.com.cn/download/download-jsq。
获取授权文件后,在运行集算器时,将提示选择授权文件。在集算器菜单栏中点击Help>About可以查看授权信息。
当注册成功后,授权信息会自动存储在集算器的配置文件raqsoftConfig.xml中,这个配置文件默认存储在集算器的[安装目录]\esProc\config路径下。其中的授权信息部分如下:
<!-- 集算器授权文件-->
<license>E:\tools\raqsoft\esProc\esproc.xml</license>
也可以不在首次打开集算器时指定授权文件,而自行编辑raqsoftConfig.xml。
使用用命令行调用集算器时也将自动加载默认位置的raqsoftConfig.xml来读取授权信息。关于命令行的使用,请参考6.1命令行。
如果需要使用集算器JDBC,则需要将配置文件复制到JAVA应用项目的类路径下,在调用集算器JDBC时,会从中读取授权信息。除了默认的配置,在使用集算器 JDBC时,还可以再连接串中用...?config=...的格式来指定配置文件,此时的授权会从指定文件中的<license>节点中读取。如:con= DriverManager.getConnection("jdbc:esproc:local:/?config=myconfig.xml"); 则使用myconfig.xml中的授权信息,而并非默认的raqsoftConfig.xml。关于集算器JDBC的具体部署,请参考6.3JDBC部署。