検索

記事
· 2024年9月25日 1m read

第三十三章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken _进行加密(一)

第三十三章 使用派生密钥令牌进行加密和签名 - 使用

进行加密(一)

  1. 如果加密了任何安全标头元素,请将它们添加到 WS-Security 标头元素中。为此,请调用 Web 客户端或 Web 服务的SecurityOut 属性的 AddSecurityElement() 方法。在这种情况下,需要两个参数:

a. 安全标头元素(而不是从中生成的的 %XML.Security.EncryptedData)。

b. 引用列表实例。第二个参数指定将第一个参数指定的项目放在何处。如果参数是 AB,则 IRIS 确保 AB 之后。指定此项以便收件人首先处理引用列表,然后再处理依赖于它的加密安全标头元素。

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
質問
· 2024年9月25日

VSCode debugging doesn't work with version 2024.2

Hello,

I'm trying to debug objectscript ClassMethods in VSCode, but nothing happens when clicking the Debug button over the ClassMethod.

This was working with previous versions - tested with IRIS 2020.

This is the server configuration:


"intersystems.servers": {

        "iris": {

            "webServer": {

                "scheme": "http",

                "host": "localhost",

                "port": 80

            },

            "username": "superuser"

        }

    },

Editing and compiling ObjectScript is working:

 

I checked the vscode devtools and saw an error every time I click debug:

 

Any help will be appreciated, 

Thanks.

1 Comment
ディスカッション (1)2
続けるにはログインするか新規登録を行ってください
質問
· 2024年9月25日

LDAP Authentication Question

I am trying to track down a problem we saw this morning with our TEST environment. We had a momentary issue where InterSystems HealthShare Health Connect could not connect correctly to LDAP. When we tried to login and could not connect to LDAP, the system would Delete our users.

the Test LDAP function would return a "Can't contact LDAP server". I went through the Certificates, made sure they had the correct permissions and were not expired.

At the OS level we had no problems using our LDAP accounts to authenticate against the server, so we know the server could connect to LDAP, the trouble was the application itself.

We had to add our users back into the system as password users, then delete them, in order for us to connect to LDAP correctly and rebuild the users.

The System Audit logs show the Delete right before the LDAP sign on failures. None of our other boxes that are a part of the Mirror, or our Production box was affected.

We ended up failing over to a Mirror member since this was isolated to 1 server.

Is the LDAP functionality within the Application supposed to Delete Users if it cannot communicate correctly with LDAP?

Shouldn't it try to connect first and if it can't validate against LDAP, but the password is still cached use the cached login?

Beside using the Terminal to troubleshoot, is there any additional debug logging that could of been turned on to see what the LDAP authentication was doing besides REDEBUG?

2 Comments
ディスカッション (2)1
続けるにはログインするか新規登録を行ってください
お知らせ
· 2024年9月25日

Operate IPM / ZPM on your IRIS instances easily from within VS Code

Please allow me to introduce you to a new way of interacting with IPM (InterSystems Package Manager), also known as ZPM, directly from inside Visual Studio Code.

First, install into VS Code the free InterSystems Package Manager extension, published to Marketplace by George James Software. A quick way is to use the search field in VS Code's Extensions view and look for 'ipm zpm' (without the quotes). Alternatively browse to https://marketplace.visualstudio.com/items?itemName=georgejames.iris-pac...

Here's a short video showing the extension in action.

If you like it please vote for it in the 2024 Developer Tools Contest, but hurry because voting ends: 29 Sep, 2024, 11:59:59 PM EST

7 Comments
ディスカッション (7)4
続けるにはログインするか新規登録を行ってください
記事
· 2024年9月25日 3m read

CodeInspector: Automating Custom Code Validation

Hi everyone,

In this article, I’m excited to introduce CodeInspector, a tool designed to simplify code validation by applying custom rules tailored to your development requirements. Whether you're managing a large codebase or working in an agile environment, CodeInspector helps ensure code quality by offering flexibility and adaptability to specific project needs.

Motivation

The idea behind CodeInspector was to build a tool that is both easy to implement and adaptable to different business contexts. By allowing teams to define their own validation rules, CodeInspector empowers developers to meet specific code quality standards without sacrificing flexibility. Its simplicity ensures that any team member can quickly configure and start using the tool to enforce consistent coding practices.

Features

  • Package and Class Validation: CodeInspector analyzes and validates packages and classes based on predefined custom rules.
  • Detailed Reports: It generates comprehensive issue reports that can be viewed directly in the console or returned as structured JSON for further processing.

First Steps

  1. Installation: The tool is available on the InterSystems Open Exchange as CodeInspector.
  2. Running the Application: Follow the instructions in the README file to build and start the Docker container. The application runs seamlessly inside a Docker container.
  3. Sample and Rules:
    • In the project folder, you'll find a sample directory with an example class.
    • Additionally, in the codeInspector.rules.examples folder, you’ll find two example validation rules:
      • Example Rule 1: Validates if a class does not exist in the environment.
      • Example Rule 2: Validates if a method exceeds 50 lines of code.
  4. Postman Project: The Postman collection for testing the API has been added to the /iris-dev-codeinspector/collectionPostman/CodeInspector.postman_collection.json folder.

Rest API - CodeInspector JSON Report

API Parameters

The API is available at http://localhost:9091/codeinspector/ and accepts the following parameters:

  • namespace: (required) Specifies the namespace in which the validation will be executed.
  • packages: (required) This parameter must include the names of the packages to be analyzed, separated by commas.
  • ignored: Allows you to provide a comma-separated list of package names to be excluded from the validation process.

Postman Collection

You can find the Postman Collection export in the /iris-dev-codeinspector/collectionPostman/ folder. Import CodeInspector.postman_collection.json into Postman to run API tests.

 

Console Report

To run a validation check from the console, open a terminal and execute:

Do ##class(codeInspector.Main).Execute("sample")

This will trigger the sample validation against the specified class and display the results in the console.

 

Thank you for exploring CodeInspector. At the end of the README document, you’ll find some ideas for future improvements, and I’m always open to new suggestions. I look forward to your feedback and any contributions you’d like to make!

3 Comments
ディスカッション (3)1
続けるにはログインするか新規登録を行ってください