Page 1 sur 1

Autoriser ouverture navigateur uniquement aux [ADMIN]

MessagePublié: 30 Nov 2010 à 16:45
par cyril08
J'ai crée un role dans la LCA : [ADMIN]

Dans mon navigateur "acceuil" j'ai crée un rectangle sensible qui doit ouvrir un autre navigateur uniquement pour ces [ADMIN] et si l'utilisateur n'est pas ADMIN, msg "Accès au paramètrage non autorisé"

voici ma @formule :
@Command([Compose];"Paramétrage";@If(@IsMember("[ADMIN]";@UserRoles);"Paramétrage";"");@Prompt([Ok];"Attention";"Accès au paramètrage non autorisé"))

MessagePublié: 30 Nov 2010 à 16:53
par cyril08
j'ai essayer cela aussi en mettant une vue paramétrage à la place du navigateur

@Command([Openview];"Paramétrage";@If(@IsMember("[ADMIN]";@UserRoles);"Paramétrage";"");@Prompt([Ok];"Attention";"Accès au paramètrage non autorisé"))

Dans ma vue paramétrage :
sélection de vue : SELECT Form: "acceuil"

acceuil étant mon navigateur d'acceuil au lancement de ma base.

J'ai mon message d'erreur qui s'affiche à chaque fois même quand je prend le status [ADMIN]

MessagePublié: 30 Nov 2010 à 17:06
par Michael DELIQUE
salut

déjà ta formule est boiteuse

si tu es pas admin tu compose rien

je ferais plus tot un truc du genre

@If(@IsMember("[ADMIN]";@UserRoles);@Command([Compose];"Paramétrage");@Prompt([Ok];"Attention";"Accès au paramètrage non autorisé"))

ensuite vérifie bien la case de ton role

ensuite je jouerais avec les option de masque pour que ce soit invisble aux non admin

MessagePublié: 01 Déc 2010 à 08:39
par cyril08
Dans la LCA j'ai bien cocher [ADMIN]. Cependant que ce soit cocher ou non dans mes propres acces cela ne fonctionne pas.

MessagePublié: 01 Déc 2010 à 09:04
par Michael DELIQUE
ta base est en local ? elle doit pas etre sur un server !

MessagePublié: 01 Déc 2010 à 09:23
par cyril08
oui tt a fait elle est en local le temps que je la contruise

MessagePublié: 01 Déc 2010 à 10:11
par billbock
en local les roles ne fonctionnent pas!!!

MessagePublié: 01 Déc 2010 à 10:16
par billbock
de plus ta formule n'utilise pas de navigateur!!!

de mon cote j'utilise un frameset à une frame dans lequel je mets ma page d'accueil

et un bouton pour acceder aux doc de config
Code : Tout sélectionner
@If(@IsMember("[ADMIN]";@UserRoles);@Success;@Do(@prompt[OK];"Attention";"Reserve aux Administrateurs");@Return("")));
View := "vConfig" ;
Key := "mConfig";
rc := @DbLookup ( "" : "NoCache"; ""; View; Key; 1 ) ;
@If ( @IsError ( rc ); @Command ( [Compose]; "mConfig" ) ;
                    @Do (
                              @Command ( [OpenView]; View; Key ) +
                              @Command ( [EditDocument] ) +
                              @Command ( [OpenView]; View ) +
                              @Command ( [FileCloseWindow] )
                              )
       )

MessagePublié: 06 Déc 2010 à 12:01
par cyril08
Merci cela m'a été trés utile
J'ai crée un frameset à la place.

Voici le @formule :
@If(@IsMember("[ADMIN]";@UserRoles);@Success;@Do(@Prompt([Ok];"Attention";"Reserve aux Administrateurs");@Return("")));
Frameset := "param" ;
Key := "mConfig";
rc := @DbLookup ( "" : "NoCache"; ""; param; Key; 1 ) ;
@If ( @IsError ( rc ); @Command ( [Compose]; "mConfig" ) ;
@Do (
@Command ( [OpenFrameset]; "param"; Key ) +
@Command ( [EditDocument] ) +
@Command ( [OpenFrameset]; "param") +
@Command ( [FileCloseWindow] )
)
)

Cependant comment puis je vérifier que cela fonctionne puisque [ADMIN] ne fonctionne pas en local. Quant je clique sous lotus, j'ai directement le message d'erreur "Reserve aux Administrateurs"

merci

MessagePublié: 06 Déc 2010 à 12:22
par Michael DELIQUE
en local il faut aller dans la LCA, option avancé et coché "préservé la coéherence..."

ce qui fait que les rôles fonctionnent en local

MessagePublié: 06 Déc 2010 à 13:55
par cyril08
Merci pour l'astuce, je ne conaissais pas.


Ma formule ne fonctionne pas.
Est ce que vous pourriez m'éclairer sur une éventuelle erreur.

MessagePublié: 06 Déc 2010 à 14:31
par Michael DELIQUE
re,

dans un @do le séparateur est le ; pas le +

MessagePublié: 06 Déc 2010 à 14:45
par cyril08
j'avais essayé avec les ; et cela ne fonctionne pas non plus

MessagePublié: 06 Déc 2010 à 15:21
par billbock
non les + fonctionnent

vueConfig := "<nom>" ;
Key := "mConfig";
rc := @DbLookup ( "" : "NoCache"; "";
vueConfig; Key; 1 ) ;

tu ne passes pas un nom de frameset comme cle !!!!