Déterminer les documents auxquels a accès un user donné ?

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Déterminer les documents auxquels a accès un user donné ?

Messagepar YoGi » 22 Oct 2007 à 12:46

Bonjour,

On réfléchit à mettre en place un système d'abonnement sur une appli Domino dont les documents contiennent des restrictions en lecture et/ou en écriture très variables.

Le problème qui se pose est le suivant : comment connaître, pour un utilisateur de l'appli donné, les documents auxquels il a accès ? L'idée étant de boucler sur tous les utilisateurs de l'appli (un ou 2 groupes clairement identifiés) et de leur envoyer un mail personnalisé avec des liens vers les documents auxquels ils ont accès.

La difficulté est que dans les champs lecteur, il peut y avoir des noms, mais aussi des groupes, ou des groupes imbriqués.

Alors il y a bien la méthode bête et méchante qui consisterait à s'assurer que le nom de l'utilisateur est présent dans ces champs et, s'il s'agit de groupes, de le recherche dedans récursivement, mais ça me semble un peu violent pour un besoin qui finalement est assez commun et que beaudoup ont du rencontrer.

Une autre solution (que je préfèrerait) serait de créer une session en tant que l'utilisateur (en Java, par DIIOP, avec NotesFactory.createSession()), malheureusement cela requiert de connaitre son mot de passe internet (ou d'avoir un token LTPA, mais la problématique reste la même)).

Enfin, une troisième piste est le "Run agent on behalf of", le seul soucis est que cette valeur n'est pas - que je sache - "programmatiquement" modifiable ; en cas de changement par programmation, à l'exécution un msg d'erreur est retourné comme quoi cette valeur a été altérée, etc.. Je n'ai pas essayé de le faire via DXL (je vais m'y mettre de ce pas), mais je doute que ça marche mieux.

Bref, je ne sais pas trop quoi penser de tout ça.

Si vous avez des pistes et/ou des conseils, je suis preneur !

Merci d'avance.
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar Stephane Maillard » 22 Oct 2007 à 12:51

Salut,

Une idée passer par API's et regarder les users autorisé (tu sais la petite coche de l'avant dernier onglet)
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Messagepar YoGi » 22 Oct 2007 à 12:55

Merci stéphane,

tu parles de ça (cf image) ? Parce que si oui, je ne vois pas ce que je peux faire avec.

quant à l'API C, je ne connais pas du tout donc ce n'est pas trop une solution envisageable pour moi :?
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar Stephane Maillard » 22 Oct 2007 à 13:03

Re,

Oui c'était à ça que je pensais, dans le coeur même du masque ou autre tu as un champs système ou il y à les users/groups autorisé.
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Messagepar Michael DELIQUE » 22 Oct 2007 à 13:04

salut

petit question pourquoi tu écris pas directement aux groupes ? il faut que le nom de l'utilisateur soit en claire dans le mail ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar YoGi » 22 Oct 2007 à 13:10

Michael DELIQUE a écrit:petit question pourquoi tu écris pas directement aux groupes ? il faut que le nom de l'utilisateur soit en claire dans le mail ?


pas nécessairement, mais si tu veux, les droits sont tellement variés dans chaque document que chaque utilisateur a une vision différente des nouvelles publications.
et il est hors de question d'envoyer un mail "commun" où des gens auraient des liens qui les amèneraient à un "vous n'êtes pas habilités à consulter la ressource demandée".
donc ça oblige à traiter les personnes individuellement.
Dernière édition par YoGi le 22 Oct 2007 à 13:11, édité 1 fois.
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar YoGi » 22 Oct 2007 à 13:11

Stéphane Maillard a écrit:Re,

Oui c'était à ça que je pensais, dans le coeur même du masque ou autre tu as un champs système ou il y à les users/groups autorisé.


Je ne te suis vraiment pas là Stéphane.
Désolé de faire mon assisté, mais tu peux m'en dire un peu plus ?
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar amahi » 22 Oct 2007 à 13:35

J ai a peu pres la meme problematique que toi.
J ai reussi a organisé mes utilisateurs en profils (maximum une quinzaine de groupes dans les gros projets).
A chaque depot de documents je creer un "log" qui donne les infos concernant le document et nottament le profil utilisateur adequat.
Ensuite je genere a partir de ces documents de log une notification pour chacun des profils. A savoir que j interdit l imbrication des groupes dans l application pour eviter de faire trop de noeud.


Si j ai bien compris ce que tu veu faire, ce serait de simuler un pull des users .
Le seul truc que je pourrait dire pour aller dans ton sens c est bon courage ^^.
Si via DXL tu peut creer des agents privés c est peut etre jouable, mais tu va te retrouvé avec un floppé d agents!
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Messagepar YoGi » 22 Oct 2007 à 15:34

bon, ce qui me rassure c'est qu'apparemment ce n'est pas un problème si simple que ça, et que je ne suis pas passé à coté d'une évidence :)

sinon on peut modifier la valeur du "run on behalf of" par DXL en supprimant et recréant l'agent (faille de sécurité ? peut-être), donc suffit de faire ça d'ouvrir des vues et d'envoyer des mails en boucle, et ça devrait le faire. mes premiers tests sont en tout cas concluants.

merci pour le coup de main.
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar amahi » 22 Oct 2007 à 16:14

Si ce n est pas trop top secret, tu pourrais en faire un tips. Je t avoue que mon système est loin d'etre parfait (il arrive que des users recoivent 2 mails de notifications car il se retrouvent dans 2 profils differents).
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Messagepar YoGi » 22 Oct 2007 à 16:33

Là je n'ai pas un truc qui marche à proprement parler, j'ai juste validé le concept. Tout en sachant que ça repose sur une configuration serveur particulière (en outre, tous les users de l'annuaire doivent pouvoir exécuter des agents).
Cela dit, ce n'est peut-être pas moi qui vais le développer... Et les bouts de code que j'ai à droite à gauche n'ont pas trop d'intérêt.
Si j'ai quelque chose de plubiable je le ferai :)
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar roubech » 22 Oct 2007 à 19:16

Salut YoGi,

juste une idée comme ça, j'ai pas encore eu l'occasion de regarder comment fonctionne la génération de flux RSS dans les nouveaux template comme le blog de la V7
mais plutôt que de pousser la liste aux utilisateurs, tu ne pourrais pas leur fournir un flux RSS auquel ils s'abonneraient. dans ce cas, c'est leur compte utilisateur qui se connecte ...
(ca me fait penser à la base headline.nsf qu'on avait avant qu'on invente le RSS)

Thierry
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar YoGi » 22 Oct 2007 à 22:54

Ouais non c'est pas trop possible, pour des raisons d'authentification plus qu'autres choses. Et aussi parce qu'Outlook ne lit pas les RSS, à ma connaissance.
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar YoGi » 23 Oct 2007 à 16:24

Juste pour vous tenir au jus.
J'ai implémenté une bonne partie du truc.
Jusqu'à présent, ça marche très bien :)

Difficile d'en faire un tips en l'état car le code est un peu éparpillé et très lié à l'application, mais si y'a un bout qui vous intéresse particulièrement, faites moi signe.
Chuck Norris peut récupérer un masque après l'erreur "Not a Form"
http://darkmag.net/darkBlog
Avatar de l’utilisateur
YoGi
Roi des posts
Roi des posts
 
Message(s) : 548
Inscrit(e) le : 08 Sep 2006 à 13:02
Localisation : Paris / Rouen

Messagepar amahi » 23 Oct 2007 à 16:52

Disons que modifier un element de structure via DXL m interesse plus particulirement alors ;-)
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Suivant

Retour vers Développement