Nova postagem

Pesquisar

Artigo
· Ago. 28, 2024 2min de leitura

Décompresse les rôles de manière récursive

Récemment, je me suis retrouvé dans une situation où un utilisateur avait des rôles qui lui accordaient des rôles supplémentaires, etc.

Comme je ne comprenais pas d'où venait une autorisation particulière, j'ai écrit ce code qui obtient un ensemble initial de rôles et les décompresse de manière récursive, en tenant compte des éventuelles répétitions.

/// Décompresse de manière récursive le jeu de rôles.
/// Tient compte des dépendances circulaires et des répétitions.
Class Utils.Roles
{

/// roles : chaîne de rôles séparés par des virgules
/// showResources : affiche les ressources en plus des rôles
/// do ##class(Utils.Roles).Display
ClassMethod Display(roles As %String, showResources As %Boolean = {$$$NO})
{
    new $namespace
    set $namespace = "%SYS"
    set roles = $lfs(roles)
    set i=0
    while i<$ll(roles) {
        do $i(i)
        set role = $lg(roles, i)
        continue:$d(processed(role))=1
        write "Current role: ", role,!
        
        write "Grants roles: "
        set sc = ##class(Security.Roles).Get(role, .p)
        for j=1:1:$l($g(p("GrantedRoles")),",") {
            set grantedrole = $p(p("GrantedRoles"),",", j)
            continue:grantedrole=""
            continue:$lf(roles, grantedrole)
            
            write grantedrole, ", "
            set roles = roles _ $lb(grantedrole)
        }
        
        write:showResources !, "Grants resources: ", p("Resources")
        write !
    }
}

}
 
Spoiler

Code.

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Ago. 28, 2024

Should JDBC queries keep a user account from expiring?

Hello all,

On one of my team's systems, we utilize a business operation with the EnsLib.SQL.OutboundAdapter to make SQL queries to another IRIS system using JDBC. To authenticate the connection, we utilize a user account on the target system.

We recently had a failure where this user account expired due to inactivity, causing all queries to error until the account was reactivated on the target system. The root cause of this was that the adapter only authenticates when the initial connection is established, and running the queries over JDBC does not reauthenticate/extend the account inactivity timeout.

Is this the intended behavior? It feels like running queries over an active connection should prevent the account from timing out. Has anyone else run into this/implemented workarounds? 

Thanks,

Nick P.

6 Comments
Discussão (6)3
Entre ou crie uma conta para continuar
Discussão (13)5
Entre ou crie uma conta para continuar
Artigo
· Ago. 28, 2024 2min de leitura

第九章 创建和使用策略 - 创建并附加策略

第九章 创建和使用策略 - 创建并附加策略

创建并附加策略

要创建策略并将其附加到Web 服务或客户端,请创建并编译配置类。有多种方法可以创建此类:

  • 使用 GeneratePolicyFromWSDL() 方法从 WSDL 生成配置类。如果 Web 服务或客户端类已存在,并且您不想重新生成,则适用此选项。
  • 为现有的 Web 服务或客户端手动创建配置类。

如果从 WSDL 生成策略类,则可能需要按下一节所述对其进行编辑。

WSDL 生成策略

在某些情况下,可能已经有客户端类,但没有相应的配置类。例如,如果从 WSDL 生成客户端类,而 WSDL 后来被修改为包含 WS-Policy 信息,则可能会发生这种情况。在这种情况下,可以使用 %SOAP.WSDL.Reader中的实用程序方法单独生成配置类,如下所示:

Discussão (0)1
Entre ou crie uma conta para continuar
Discussão (0)1
Entre ou crie uma conta para continuar