2 votes

wsadmin Comportement de l'authentification Web

J'ai parcouru la documentation d'IBM pour essayer de trouver cela, mais je n'ai rien trouvé. Est-ce que quelqu'un connaît le script/commande connexe utilisant wsadmin pour configurer le 'comportement d'authentification Web' pour une configuration WAS 7.0 ?

Le paramètre que j'examine peut être atteint à partir de la console à l'adresse suivante Security > Global Security > Web and SIP security > General Settings > Authenticate only when the URI is protected > Use available authentication data when an unprotected URI is accessed

Mise à jour :

Sur la base des commentaires, j'ai basculé le paramètre et trouvé la configuration qui a changé dans {profile}/security.xml.

Voici à quoi cela ressemble lorsque la case "Utiliser les données d'authentification disponibles en cas d'accès à un URI non protégé" n'est pas cochée :

<webAuthAttrs xmi:id="DescriptiveProperty_8" name="com.ibm.wsspi.security.web.webAuthReq" value="lazy" type="String" displayNameKey="" nlsRangeKey="" hoverHelpKey="" range="lazy,persisting,always" inclusive="false" firstClass="false"/>

et voici à quoi il ressemble une fois que je l'ai vérifié (c'est ce que j'essaie de faire avec wsadmin) :

<webAuthAttrs xmi:id="DescriptiveProperty_8" name="com.ibm.wsspi.security.web.webAuthReq" value="persisting" type="String" displayNameKey="" nlsRangeKey="" hoverHelpKey="" range="lazy,persisting,always" inclusive="false" firstClass="false"/>

La question est donc de savoir comment mettre à jour cette propriété spécifique à l'aide de wsadmin.

2voto

FGreg Points 1436

Equivalent à la suggestion de bkail d'utiliser Jython au lieu de JACL :

import java
import string

sec = AdminConfig.getid('/Security:/')
descProps = AdminConfig.list('DescriptiveProperty', sec)
lineSeparator = java.lang.System.getProperty('line.separator')
descriptiveProperties = descProps.split(lineSeparator)
for descProp in descriptiveProperties:
    id = descProp[string.find(descProp, "("):string.find(descProp, ")")+1]
    name = AdminConfig.showAttribute(id, 'name')
    if name == "com.ibm.wsspi.security.web.webAuthReq":
        print "Updating security config object with id: %s, property name: %s. Setting value to 'persisting'" % (id, name)
        AdminConfig.modify(id, '[[value persisting]]')

1voto

bkail Points 16610

Essayez ceci :

set sec [$AdminConfig getid /Security:/]
foreach descProp [$AdminConfig list DescriptiveProperty $sec] {
  set name [$AdminConfig showAttribute $descProp name]
  if {$name == "com.ibm.wsspi.security.web.webAuthReq"} {
    puts "Updating $descProp"
    $AdminConfig modify $descProp {{value persisting}}
  }
}

Exécuter avec bin/wsadmin -f webAuthReq.jacl

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X