公告 Claire Zheng · 十月 9, 2022

2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章!投票截止至10月23日,你的支持与喜爱,是作者获得“开发者社区奖”的关键!如何为你喜欢的作品投票呢?

0
0 189
文章 姚 鑫 · 十月 9, 2022 3m read

第十一章 CSP 架构 - Web Application Settings

Special Case: DeepSee

对于使用 DeepSeeWeb 应用程序,它需要访问 %DeepSee 包中的所有类。要使特定应用程序能够使用 ,请在 命名空间中使用以下命令:

Do EnableDeepSee^%SYS.cspServer("/csp/webapp/")

其中 是带有斜杠的 应用程序名称。前面的命令等价于以下命令:

Set ^SYS("Security","CSP","AllowClass","web-app-name","%DeepSee.") = 1
Set ^SYS("Security","CSP","AllowClass","web-app-name","%CSP.UI.Portal.About")=1

其中 是带有尾随冲突的 Web 应用程序的名称。请注意,第一行使用 。有一个尾随句点。

或者,要使所有应用程序都能使用 ,请使用以下变体:

Do EnableDeepSee^%SYS.cspServer(0)

例如,要启用 /csp/webapp Web 应用程序以使用 ,请使用以下命令:

要禁止特定 应用程序使用 DeepSee,请使用以下命令:

编辑 应用程序设置

可以在管理门户的编辑 应用程序页面上创建或修改 如何处理特定

0
0 178
文章 姚 鑫 · 十月 8, 2022 2m read

第十章 CSP 架构 - Category

Category: AllowPrefix

如果应用程序依赖于调用以同一组字符开头的多个类或包,请使用AllowPrefix选项。

重要提示:如果应用程序依赖于调用上面列出的以外的任何类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便了解使类可用的含义。

要使给定的Web应用程序能够调用以相同字符集开头的类或程序包,请在命名空间中使用以下命令:

Set ^SYS("Security", "CSP", "AllowPrefix", "web-app-name", "prefix") = value

其中

  • Web-app-nameWeb应用程序的名称,后跟一个尾随斜杠。

要使所有Web应用程序都能使用给定的类或包,请将web-app-name指定为;在这种情况下,可以省略括起来的引号。

  • 前缀是名称的前几个字符。

  • 值为10

如果将其指定为1,则Web应用程序可以调用这些类(或包)。

如果将其指定为,则此Web应用程序无法调用这些类(或包)。

例如,要使应用程序能够调用整个包,请使用以下命令:

请注意,前缀是 ,前缀中的句点表示应用程序无法访问等包。但是,应用程序可以访问包和。

再举一个例子,要使所有应用程序都能够访问以开头的所有包,请使用以下命令:

再举一个例子,假设 应用程序应该能够访问 % 包中除类

0
0 151
文章 姚 鑫 · 九月 25, 2022 78m read

IRIS的23种设计模式

第一章 Caché 设计模式 简单工厂模式

定义

  • 简单工厂模式属于创建型模式,又可称为静态工厂模式,这是由一个工厂对象决定创建出哪一种产品类的实例

使用场景

  • 工厂类负责创建的对象比较少
  • 客户只需知道传入工厂类的参数,而无须关心创建对象的逻辑

优点

  • 使用户根据参数获得对一个的类实例,避免了直接实例化类型,降低了耦合性
  • 能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类:客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,所有的客户类都要进行修改

缺点

  • 可实例化的类型在编译期间已经被确定。
  • 如果增加新类型,则需要修改工厂,这违背了开放封闭原则
  • 子类多过不适合使用

示例

  • 用Caché 实现一个计算器控制台程序,要求输入两个数和运算符号。

可能会写成这样:

/// w ##class(PHA.YX.Design.Program).GetResult() 
ClassMethod GetResult()
{
	READ "输入第一个数字:", numberA,!
	READ "输入操作符:", operate,!
	READ "输入第二个数字:", numberB,!
	
	s result = ""
	i operate = "+" d
	.s result = numberA + numberB
	i operate = "-" d
	.s result = numberA - numberB
	i operate = "*" d
	.s result = numberA * numberB
	i operate = "/" d
	.s result = numberA / numberB
	
	q result
}

2
1 479
文章 姚 鑫 · 十月 7, 2022 4m read

第九章 CSP 架构 - CSP 应用程序设置

CSP 应用程序设置

CSP 服务器接收到传入的 HTTP 请求时,它使用本地 CSP 应用程序设置来确定如何处理请求。本节介绍 如何使用 应用程序设置处理 应用程序请求。

启用对 页面的应用程序访问

以下规则管理对页面和类的访问:

  1. 默认情况下,允许用户应用程序访问以下页面:
  • 允许 /csp/sys/ 应用程序及其所有子应用程序的页面
  • 允许使用 isc/studio/templates//isc/studio/usertemplates/ 应用程序的页面
  1. 默认情况下,允许用户应用程序访问所有非 % 类
  2. 用户应用程序还可以访问以下类:
  • %CSP.Broker, , %CSP.Login, , 被允许
  • 和 是允许的,有以下附加条件
    • 不允许所有其他 %ZEN.*
    • 允许所有其他 %Z*
  • 允许所有 类

除了检查 应用程序中的设置外,还会检查允许的类。可以通过导航到管理门户上的系统管理 > 安全 > 应用程序 > Web 应用程序来查看和更改应用程序设置。因此,类引用必须通过两组测试才能被允许。

要允许访问其他类,请在 命名空间中配置 ,其中 是 、 或 。以下部分描述了这些选项

重要提示:首先应用默认规则,然后按列出的顺序应用类别来完成检查。此外,每个关键字都可以被多次调用。

0
0 192
文章 bai hongtao · 十月 7, 2022 4m read

在Cache 2018之前的版本中,数据库的高可用是通过第三方HA软件保障的,Cache数据库在2018以后及IRIS支持MIRROR技术,通过MIRROR可以保障数据库的高可用及数据的冗余,那么在新版本中,第三方HA软件与MIRROR是否可以同时使用以实现更高的数据库可用性?使用起来有哪些需要注意的?本文重点介绍探讨上述两个问题。

为得出正确结论,我们搭建了如下实验环境:

       我们采用3个服务器节点A、B、C分别部署IRIS 2021.1数据库,其中A节点、B节点部署第三方HA软件组成数据库高可用主备集群(本例中,采用的是基于POWER平台的PowerHA),该集群中定义A节点为主节点,B节点为备用节点,HA集群的共享资源组存放在共享SAN存储上,通过HA,生成HA集群的对外服务IP,即我们通常说的Service ip,保证在生产节点发生网络故障、主机故障、以及操作系统故障、手动切换等情况下,IRIS服务、共享资源组、以及HA的Service IP可自动切换至另外一台服务器,保障IRIS高可用,经测试,HA集群内部节点间服务切换时间约为30秒。

0
0 599
文章 姚 鑫 · 十月 6, 2022 4m read

第八章 CSP 架构 - CSP 网关配置

CSP 网关配置

CSP 网关是安装在 Web 服务器上并由其加载的 DLL 或共享库。 网关检测对扩展名为 或 的文件的任何请求,并将它们发送到定义的 服务器进行处理。

CSP 网关管理器

可以使用 网关管理器( 网关管理页面)或直接编辑其配置文件 csp.ini 来配置 网关。

网关管理器是一个小型 应用程序,可以在浏览器中使用它。您可以通过导航到系统管理 > 配置 > CSP 网关管理来访问 网关管理器。默认情况下,它会访问专用 服务器的 网关管理器。

要访问生产 服务器的 网关管理器,请根据需要通过替换 或 localhost:<port_no> 来更改 。

有关配置 网关的信息,请导航至系统管理 > 配置 > CSP 网关管理,然后单击帮助。有关更多详细信息,请参阅 网关配置指南。

注意:CSP Web 网关管理页面的本地化仅基于安装的 的内容(如果有)。如果不存在本地化文件,则 管理页面默认使用嵌入的英文文本。浏览器的语言设置对此机制没有影响。

定义服务器访问

注意:为防止运行时错误,对于通过 运行的高可用性配置, 建议使用启用了粘性会话支持的硬件负载平衡器。

可以定义此 网关可以访问的服务器列表(可能运行 CSP 应用程序的

0
0 136
问题 Liang Jianhui · 九月 30, 2022

访问了一个API,得到的返回结果里面有个时间字段,现在返回的格式是这样的 “2022-09-30T07:24:57.899Z”, 怎么样能转换成 YYYY/MM/DD hh:MM:ss的格式

1
0 231
文章 Qiao Peng · 十月 6, 2022 10m read

最近一些用户问到监控集成平台业务行为查询的问题,例如如何查询服务的平均耗时、发生错误的服务数量...

业务行为监控对于集成平台来说非常重要,可以帮助我们:

  • 监控系统健康情况 — 查看系统性能表现。例如发现队列积压和长耗时的消息处理,都可能是性能问题的表现。
  • 排查异常 — 通过查看业务行为数据,帮助我们判断特定的业务组件配置是否是造成性能瓶颈的主要原因。
  • 做业务规划 —  通过业务行为数据,了解各个业务量变化情况,并辅助我们做业务规划。
  • 做硬件规划 — 通过长期跟踪消息吞吐量的变化了解性能的变化和业务量的增长,进而辅助我们做硬件计划,避免出现在性能问题。

仅提供这些查询是很容易的,但要更好地监控集成平台的业务行为,需要更深入的了解InterSystems集成架构。

InterSystems集成架构

无论Ensemble、Health Connect还是InterSystems IRIS,它们都具有下面的集成架构:

通过业务服务向外发布服务、通过业务操作连接第三方接口、通过业务流程协同业务操作,它们统称为集成业务组件。可以简单理解为业务行为是由这些业务组件完成的:

  • 业务服务 = 服务,它启动一个业务流程;
  • 业务操作 = 接口,它通过接口操作第三方业务系统;
  • 业务流程 = 流程,它控制一笔业务需要按什么流程调用哪些接口。
0
1 446
文章 姚 鑫 · 十月 5, 2022 3m read

第七章 CSP 架构 - URL 的 Web 服务器配置

URLWeb 服务器配置

提供了一个默认的 /csp 虚拟目录来运行 应用程序。如果正在运行多个 Caché 实例,它还提供了一个默认虚拟目录 以供使用。如果正在运行多个 实例并使用虚拟目录 访问 应用程序,而之前没有 /,它将访问最后安装的 版本。如果计划允许使用以 http://localhost/csp 或 http//localhost/cacheinstance/csp 开头的应用程序路径调用所有 应用程序,则无需在 Web 服务器中进行任何更改配置。

如果要创建一个应用程序路径不是以 或 开头的 CSP 应用程序,则需要在 服务器配置文件条目中进行更改,别名 。

下表显示了需要更改的配置文件。

网络服务器 配置文件
ApacheHP 安全网络服务器 UNIX®: Windows: \conf\httpd.conf
如“在 服务器上配置新 ”中所述定义虚拟目录。

下表显示了使用 服务器和 实例的组合访问 页面的示例:

URL web server Instance
http://localhost/cache20071/csp/samples/menu.csp public
0
0 189
问题 liu bo · 九月 27, 2022

*** Recovery started at Wed Sep 28 08:14:28 2022
     Current default directory: d:\dhc\devsoftware\ensemble\mgr
     Log file directory: d:\dhc\devsoftware\ensemble\mgr\
     WIJ file spec: d:\dhc\devsoftware\ensemble\mgr\CACHE.WIJ
Recovering local (d:\dhc\devsoftware\ensemble\mgr\CACHE.WIJ) image journal file...
Starting WIJ recovery for 'd:\dhc\devsoftware\ensemble\mgr\CACHE.WIJ'.
  0 blocks pending in this WIJ.

2
0 273
文章 姚 鑫 · 十月 4, 2022 3m read

第六章 CSP 架构 - 静态文件

静态文件

数据库服务器为所有 CSP 提供服务。 数据库服务器还可以通过 CSP 网关为 Web 应用程序提供任何类型的静态文件。在标准 应用程序中, 服务器通常提供静态内容。要在 上运行 应用程序,必须配置 服务器以允许服务器通过 网关提供所有静态文件。

注意:要运行基于 Zen 的应用程序,请启用“服务文件”选项并配置 Web 服务器以允许 服务器提供静态文件。然后 框架将能够提供依赖图像和 帮助文档。

指示字符编码

引擎通过流服务器以与主流 Web 服务器一致的方式处理静态文件,以确定 文件的字符编码。

现代惯例是将所有 文件标记为 的 ,并且确保页面上使用的所有 文件都是这种情况。

以这种方式标记的 文件:

  • 如果文件包含 (字节顺序标记),浏览器会自动检测到这一点并使用正确的字符集来读取它。
  • 如果该文件不包含 ,则浏览器假定该文件是 。

如果需要覆盖此行为以指定 JavaScript 文件的字符集,请将全局 设置为列表值 。例如,

SET ^%SYS("CSP", "MimeFileClassify", "JS") = $listbuild("text/javascript", 0 ,"ISO-8859-1") 
0
0 141
文章 姚 鑫 · 十月 3, 2022 2m read

第五章 CSP 架构 - 组件,信息流

CSP 组件:Web 服务器、CSP 网关、 服务器

使用三个软件组件: 服务器、CSP 网关和 服务器(在 服务器上运行):

  • CSP 组件

服务器和CSP服务器可以由一台或多台计算机实现。在开发过程中,所有三个组件(Web 服务器、 网关和 服务器)可能都位于一台 上。在大规模部署中,可能有多个 服务器和 服务器采用两层或三层配置。

这些组件( 服务器、 网关、 服务器)视为各有一个。它将 描述为好像只提供 页面,尽管 也可以提供 页面,以及其他文本格式和二进制格式,例如图像。

每个组件的作用

服务器是一个软件实用程序,它执行以下操作:

  • 接受传入的 HTTP 请求,通常来自浏览器
  • 检查权限
  • 可以提供静态内容
  • CSP 网关发送对 内容(以 或 结尾的 )的请求

CSP 网关是一个共享库、一个 文件或一个 脚本。它执行以下操作:

  • 确定将请求发送到哪个 服务器。
  • 将请求发送到正确的 服务器。
  • 维护与 服务器的连接(以避免必须不断打开新连接)。

服务器是一个运行在 服务器上的进程,专门用于处理来自 网关的请求。它执行以下操作:

  • 接收应用程序的 请求
  • 检查应用程序配置设置(在管理门户中设置并保存在 文件中)。
0
0 197
文章 姚 鑫 · 十月 2, 2022 2m read

第四章 Caché 服务器页面简介 - 通过 html 创建 csp 页面

创建基于 HTML 标记的 CSP 页面

要使用 HTML 文件创建 页面,请执行以下操作:

  1. 启动 Studio 并选择 File > New > > 。
  2. 将新 文件的内容替换为以下内容:
<html>
<body>
<b>Hello, World!</b>
</body>
</html>
  1. 选择文件 > 保存。
  2. 在显示的另存为窗口中,双击默认 CSP 应用程序 csp/user
  3. 输入文件名 Hello.csp 并单击另存为以保存文件。
  4. 在 窗口中,选择查看 > 网页。

与前面的示例一样,会看到 显示在浏览器中。

CSP 应用程序可以由单个 页面或一组页面组成。 CSP 应用程序作为一个单元,使用适用于整个应用程序的设置。系统提供 作为默认的 应用程序。

还可以使用文本编辑器或 编辑器创建 文件。将此文件作为 Hello.csp 保存在本地目录 中(其中 是安装 的位置)。

页面的工作方式如下:

  1. 浏览器向本地 服务器发送 请求
  2. 服务器将此请求传递给 网关(连接到 服务器), 网关又将请求传递给 服务器。
  3. 服务器查找文件 ,并将其交给 编译器。
  4. 编译器创建一个名为 的新类,该类具有写出 文件内容的 方法。 (它实际上生成一组方法,每个方法依次从
0
0 299
文章 姚 鑫 · 十月 1, 2022 2m read

第三章 Caché 服务器页面简介 - 通过 cls 创建 csp 页面

创建第一个 CSP 页面

本节介绍如何以两种不同的方式创建 Hello, World CSP 页面:

创建基于类的 CSP 页面

通过创建 的子类并覆盖其 OnPage 方法来创建 页面。通过此方法写入主设备的任何输出都会自动发送到 浏览器并显示为网页。

  1. 打开Studio
  2. 选择 File > New Project 在本地数据库 USER 命名空间中创建一个新项目。
  3. 在向导的第一页上,输入 作为包名,并输入 作为类名
  4. 在第二页上,选择 CSP 作为类类型。
  5. 单击完成。可以在 类编辑器中看到新的 CSP 类定义:
  1. OnPage 方法中,替换注释:
 ; To do...

使用 语句:

  1. 使用 Build > Compile 保存并编译新类。
  2. 选择视图 > 网页。

会在浏览器中看到 Hello, World

这个 页面也是一个 应用程序,其工作原理如下:

  1. 浏览器向指定命名空间中的本地 Web 服务器发送对 Test.Hello.cls 的请求。

  2. 服务器将此请求传递给 网关,CSP 网关将请求传递给 服务器。在我们的例子中,浏览器、 服务器和 应用程序服务器都运行在同一台机器上。在实际部署中,这些可能位于不同的机器上。

  3. 服务器查找名为 的类并调用其

0
0 174
文章 姚 鑫 · 九月 30, 2022 2m read

第二章 Caché 服务器页面简介 - 你应该知道

你应该知道什么

要高效使用 CSP,应该熟悉以下内容:

  • Caché objects and ObjectScript

  • HTML

  • JavaScript

CSP Samples

Caché 附带一组示例CSP 页面。要查看这些:

  1. 打开

  2. 要查看 示例,请确保计算机上的 Web 服务器正在运行。

  3. 启动浏览器并转到 CSP 示例菜单(使用位于以下位置的私有 Web 服务器:http://localhost:57772/csp/samples/menu.csp或位于以下位置的外部 Web` 服务器:http://localhost /csp/samples/menu.csp 。

  4. 如果安装的 具有正常或锁的安全功能,则可能会显示登录页面。如果是这样,请登录。

  5. 显示示例 页面的列表以及每个页面的简短描述。单击感兴趣的任何内容。

文档

可以在此处找到有关 的文档:

  • 使用 描述了如何创建 页面
  • 使用 ZEN 描述了如何使用 ZEN,这是一个在 之上工作的包,用于使用预构建的页面对象进行更快速的 Web 应用程序开发。 文档包括使用 组件、开发 应用程序和使用 报告。
  • ,对所有 标签的引用
  • CSP 示例菜单,显示了许多 页面示例。
  • 服务器页面快速入门教程让入门。
0
0 229
文章 Weiwei Gu · 九月 28, 2022 3m read

Hi Developers,

嗨,各位开发者们:

各位都知道,Python是一个庞大而强大的生态系统,包含了成千上万的库和包,特别是在数据科学方面。

因此,我想首次尝试使用IRIS最近的一项功能--嵌入式Python,简单地导入一个名为datetime的Python库,生成带有时间戳成分的数据,并在InterSystems IRIS for Health Data Platform中持久化。同样的方法在IRIS数据平台上也可以使用。

1
0 208
文章 姚 鑫 · 九月 29, 2022 3m read

第一章 Caché 服务器页面简介 - 什么是CSP

Caché Server Pages (CSP) 既是用于构建交互式 CSP 应用程序的架构又是工具集。 CSP 技术允许构建和部署高性能、高度可扩展的 应用程序。 允许动态生成网页,通常使用来自 数据库的数据。 “动态”意味着每次从最近更改的数据源请求同一页面时,它可能会提供不同的内容。

用途广泛。它可以

  • 显示每分钟都在变化的库存数据。
  • 支持拥有数千名活跃用户的网络社区。
  • 根据存储在 Caché 数据库中的用户信息个性化页面。
  • 根据不同用户的要求和安全权限,根据用户数据为不同用户定制页面。
  • 提供 HTMLXML、图像或其他二进制或文本数据。
  • 提供快速性能,因为它与高性能 数据库紧密耦合。

非常适合数据库应用程序。除了提供对内置 数据库的快速访问之外,它还提供了许多基于 Web 的数据库应用程序必不可少的功能,包括

  • 会话管理
  • 页面认证
  • 能够从网页中执行交互式数据库操作。

支持两种风格的 开发。

  • 为了使用类开发应用程序,CSP 提供了一个对象框架。
  • 为了使用 文件开发应用程序,CSP 提供了一种基于 的标记语言,允许在网页中包含对象和服务器端脚本。可以在一个应用程序中结合这两种技术以获得最大的灵活性。

CSP 和 Zen

是一个应用程序框架,用于快速创建包含在 和 中的数据丰富的

0
0 479
文章 姚 鑫 · 九月 28, 2022 3m read

[toc]

第四十六章 功能跟踪器收集使用统计信息

作为 不断努力改进其产品以满足客户需求的一部分, 在 IRIS® 数据平台中包含一个名为 Feature Tracker 的软件实用程序,该软件实用程序收集软件模块使用情况的统计数据。本主题介绍特征跟踪器。

为什么 InterSystems 收集统计数据

Feature Tracker 收集的统计数据记录软件模块是否存在并在给定的 实例中使用。 Feature Tracker 每周通过 将此信息发送给 。这些统计数据有助于 规划开发和支持。 收集的信息不包括任何应用程序数据。

日志在哪里

如果 成功发送数据,它会更新 \mgr 目录中的 文件。此文件包含已发送数据的 格式副本。每个条目具有以下形式:

如果 无法发送数据,它会再尝试几次。如果仍然不成功,它将停止尝试并在下一个定期安排的时间再次尝试。

IRIS 使用成功和不成功的尝试更新消息日志文件 。显示成功发送的条目具有以下形式:

显示尝试发送失败的条目具有以下形式:

mm/dd/yy-hh:mm:ss 1 %SYS.Task.FeatureTracker failed to transfer data

传输的数据包括编码的许可证密钥和主机名,以及实例 。

收集了哪些统计数据

记录是否启用了以下软件功能:

  • BitTrakCare

0
0 169
文章 姚 鑫 · 九月 27, 2022 2m read

第四十五章 配置第三方软件以与 InterSystems 产品结合使用

产品通常在与非 工具一起运行的环境中运行,我们的产品与此类工具之间的交互可能会产生有害影响。 关于最佳、可靠部署配置的指导假定我们的产品可以在不受第三方工具干扰的情况下进行部署。例如, 发现用于安全、系统监控或病毒扫描的软件可能会影响我们产品的安装、性能和功能。对于直接与属于 产品的一部分或被 产品使用的文件进行交互的工具(例如病毒扫描程序)尤其如此。

了解客户面临的业务、合规性和其他要求会影响有关在给定环境中运行哪些软件以及如何配置此类软件的决策。一般来说, 建议我们产品的服务器端安装通过物理安全和隔离来保护。这种保护应该减少对其他工具的需求,或者至少减少它们运行的频率。

病毒扫描仪观察:

  1. 为了交付经过病毒检查的软件, 产品在经过消毒的环境中交付给我们的客户,并通过提供校验和进行验证。
  2. 性能影响。

[对策] 出于扫描目的,排除以下文件和目录:

  • WIJ 文件和包含 WIJ 文件的目录*
  • 本指南“配置 ”一章中的所有数据库文件 () 和包含数据库文件的目录*(请参阅配置数据库)。
  • 存储或处理日志文件的任何目录*
  • 数据平台运行所需的任何其他文件/目录*。例如备用日志目录*(请参阅数据完整性指南中的“日志”),或业务服务或生产使用的任何目录*。
  1. 可执行文件的误报。
0
0 126
公告 Claire Zheng · 九月 27, 2022

社区成员们,大家好!

我们开心地宣布一种全新类型的比赛——寻找最聪明的创意比赛!欢迎了解:

💡 InterSystems Idea 创意马拉松 💡

在9月26日至10月16日期间提出一个与InterSystems产品和服务相关的想法,即可获得达成奖。

最重要的是,此次赛事InterSystems的员工和社区成员都可以参与!

>> 点击提交你的想法吧! <<


0
0 292
文章 姚 鑫 · 四月 8, 2021 8m read

第二十章 用户、角色和权限

InterSystems IRIS®具有系统级安全性,以及一组与sql相关的额外安全性特性。 在数据库级保护之外,InterSystems SQL安全性提供了额外级别的安全功能。 SQL和系统级安全性之间的一些关键区别是:

  • SQL保护比系统级保护更细粒度。可以为表、视图和存储过程定义特权。
  • SQL权限既可以授予用户,也可以授予角色。 系统级权限只分配给角色。
  • 持有SQL特权会隐式授予执行SQL操作所需的任何相关系统特权。 (相反,系统级特权并不意味着表级特权。)

InterSystems SQL在InterSystems IRIS数据平台上对ODBC、JDBC、Dynamic SQL和SQL Shell接口进行权限检查。 嵌入式SQL语句不执行特权检查; 假定使用嵌入式SQL的应用程序在使用嵌入式SQL语句之前会检查特权。

SQL权限和系统权限

要通过特定于SQL的机制操作表或其他SQL实体,用户必须具有适当的SQL权限。 系统级权限不足。 用户可以直接被授予SQL权限,也可以属于具有SQL权限的角色。

注意:角色是由SQL和系统级安全共享的:单个角色可以包括系统和SQ权限。

下面的例子,以Windows机器上的InterSystems IRIS为例:

  • 在用户名称空间中有一个名为User.MyPerson的持久化类。 这个类被投影到SQL中作为SQLUser.MyPerson
1
0 512
文章 姚 鑫 · 九月 26, 2022 2m read

[toc]

第四十四章 使用多个 IRIS 实例(四)

配置多个 IRIS 实例

可以在一台机器上安装并同时运行多个 IRIS 实例。像单一安装一样安装 IRIS,为每个实例提供唯一的名称、唯一的安装目录以及用于超级服务器、Web 服务器和 的唯一端口号。

多个实例的特殊注意事项是:

  • 安装多个实例受到系统上仅存在一个的组件的限制。例如,通常系统上只有一个 Web 服务器;因此 IRIS 安装将 配置为最新安装。存储在注册表中的 客户端组件遇到了同样的问题。 将其 驱动程序存储在注册表中,每个驱动程序使用一个名称。目前,最后一次安装会更新这些组件以指向最后安装的实例。

努力将通用组件移动到可以在 实例之间共享的通用目录中。

  • 多个实例可以共享同一个多服务器密钥,但如果这样做,它们必须使用同一个许可证服务器或一组许可证服务器。在一个或多个许可证服务器的支持下运行 实例的每个系统都必须在每个实例中安装授权许可证密钥文件的本地副本。
  • 多个实例可以联网。
  • 包括对同时使用数据库的保护(即,每个实例必须有自己的数据库,并且不能访问或修改另一个实例的数据库)。
  • 每个实例必须具有唯一的端口号。有关如何设置端口号的信息,请参阅下一节。

设置端口号

对于 的标准单一实例,超级服务器端口号默认为 。对于一台机器上的多个 实例,每个实例都必须有一个唯一的端口号。

0
0 155
文章 li wang · 九月 26, 2022 3m read

1、OpenSSL/Tomcat HTTPS 搭建

准备OpenSSL的安装包,已便生成相关证书。

第一部分:首先是看看 OpenSSL的搞法:

创建证书的步骤: 

  1. 生成私钥
  2. 生成待签名证书
  3. 生成x509证书, CA私钥进行签名
  4. 导成浏览器支持的p12格式证书

1.1生成CA证书

(1)创建私钥:

openssl genrsa -des3 -out C:\SSL\ca\ca-key.pem 2048

(2)创建证书请求:

openssl req -new -out C:\SSL\ca\ca-req.csr -key C:\SSL\ca\ca-key.pem

(3)自签署证书

openssl x509 -req -in  C:\SSL\ca\ca-req.csr -out  C:\SSL\ca\ca-cert.pem -signkey  C:\SSL\ca\ca-key.pem -days 1000

(4) 将证书导出成浏览器支持的.p12格式 

openssl pkcs12 -export -clcerts -in  C:\SSL\ca\ca-cert.pem -inkey  C:\SSL\ca\ca-key.pem -out C:\SSL\ca\ca.p12

1

0
0 181
文章 姚 鑫 · 九月 25, 2022 8m read

第四十三章 使用多个 IRIS 实例(三)

Windows 上的 iris 命令

Windows 上,必须从 目录运行 iris 命令(或在命令中包含完整路径)。

  • iris all 列出所有已安装实例的摘要信息,每行一个实例,如下所述。

注意:如果需要完整的信息,例如用于解析或报告目的,请使用 。

  • iris allw 为每个实例列出与 iris all 相同的信息,而不包含长字段值。可能会产生超过 80 个字符的行。
C:\InterSystems\IRISHealth\bin>iris allw
    Instance Name                   Version ID                   Port   Directory
    ------------------------------- ---------------------------- -----  --------------------------------
up  irishealth                      2022.1.0.114.0               51773  c:\intersystems\irishealth
0
0 160