Ajouter une responsibility à un user

Bonjour;

Je souhaite ajouter/supprimer une responsibility à un user.
J’ai testé les methodes presentes dans la doc.

La méthode removeResponsibility a bien fonctionnée:

g.removeResponsibility(“12”,“SIO_POSTE_CRUD”);

Mais je n’arrive pas à faire fonctionner la méthode addResponsibility:

g.addResponsibility(“12”,“SIO_POSTE_CRUD”, “”, “”, true, “SIOrg”);

Pouvez-vous m’indiquer la démarche à suivre svp ?

Merci pour votre réponse

Déjà, à quel niveau effectuez vous ces ajouts/suppression de responsabilités ?

Dans le GrantHooks dans la méthode preLoadGrant().

OK, vous êtes vous inspiré de l’exemple suivant: https://docs.simplicite.io/documentation/91-authentication/tomcat-oauth2.md ?

Oui j’ai bien utilisé cet exemple et cherché dans la javadoc

Je suis dubitatif sur le “12” en dur et sur le dernier argument qui ne correspond à rien. C’est du script Rhino ou du Java ? Sur SIOrg il a été convenu d’écrire le code specifique en Java, pas en script Rhino.

En Java ça ne compilerait pas. La méthode à utiliser est:

	/**
	 * Add responsibility for user
	 * @param userId User ID
	 * @param groupName Group name
	 * @param startDate Start date
	 * @param endDate End date
	 * @param active Active?
	 */
	public static void addResponsibility(String userId, String groupName, String startDate, String endDate, boolean active)

ou mieux:

	/**
	 * Add responsibility for user
	 * @param userId User ID
	 * @param groupName Group name
	 * @param startDate Start date for responsibility
	 * @param endDate End date for responsibility
	 * @param active Active responsibility ?
	 */
	public static void addResponsibility(String userId, String groupName, Date startDate, Date endDate, boolean active)

Non je dis n’importe quoi, c’est cette méthode que’il faut utiliser dans Grant:

	/**
	 * Add responsibility for the user
	 * @param userId user Id
	 * @param groupName Group name
	 * @param startDate Start date (internal format) for responsibility (today if null)
	 * @param endDate End date (internal format) for responsibility (can be null)
	 * @param active is enabled ?
	 * @return true if succesful
	 * @param module Module name
	 */
	public static boolean addResponsibility(String userId, String groupName, String startDate, String endDate, boolean active, String module)

Oubliez mon post précédent ce sont des méthodes “privées” à ne pas utiliser.

Je reste toujours dubitatif sur le 12 en dur ainsi que sur l’utilisation du module SIOrg qui n’est pas du tout celui à utiliser ici : c’est en effet le module de paramétrage principal, il ne doit pas être “pollué” par des droits d’utilisateur (car ça posera plein de pb notamment lors des ré-imports de votre paramétrage où ces droits vont disparaître car en delta)

Utilisez toujours un module spécifique pour vos users et leurs droits genre SIORgUsers

PS: j’ai upgradé le doc https://docs.simplicite.io/documentation/91-authentication/tomcat-oauth2.md qui utilisait les vielles APIs devenues “privées”

C’est bon çà fonctionne avec cette ligne:

g.addResponsibility(“12”, “SIOPoste-CRUD”, “”, “”, true, “ApplicationUsers”);

Ps: Pour le “12” c’est pour tester sans avoir a convertir l’id

Merci pour votre temps.

OK pour des tests ponctuels sinon un row ID Simplicité ne doit jamais être mis en dur dans du code.

D’une instance à l’autre les row ID ne sont jamais les mêmes…