security framework

julious

Membre enregistré
11 Octobre 2001
9
0
bonjour

je suis en train de programmer une appli (appelons la A1) en Cocoa qui utilise le security framework pour lancer une autre appli (A2) qui requiert les droits d'admin. J'arrive bien à faire apparaitre l'écran de demande de mot de passe et à lancer mon appli (A2) qui fait ce qu'elle doit faire. Le problème, c'est que je dois relancer à intervalle régulier cette appli A2 (genre toutes les 5 secondes) mais que je ne veux pas redemander son mot de passe à l'utilisateur. Comment faire pour prolonger les droits de A1 pour qu'elle lance à chaque fois A2 avec les bons paramètres ?

L'idée de base est la suivante :

err = AuthorizationCreate (&rights, kAuthorizationEmptyEnvironment, kAuthorizationFlagInteractionAllowed | kAuthorizationFlagExtendRights, &authorizationRef);
.
.
.
while (condition)
{
err = AuthorizationExecuteWithPrivileges (authorizationRef, path, kAuthorizationFlagDefaults, NULL, NULL);

}

Voila si quelqu'un peut m'aider je lui en serais très reconaissant.
 
Quand je dois utiliser le Security FrameWork, j'utilise la classe BLAuthentication de Ben Lachman. Elle est très bien faite et te fait gagné un temps fou.
Pour info, je crois qu'une authentification n'a une durée de vie que de 10 minutes par défaut. Par contre, je ne sais plus dans quel fichier de conf ça se situe.

Le site de Ben Lachman : http://frognet.net/~lachman
 
Normalement, si tu gardes la meme reference, il doit pas te redemander le mot de passe.
C'ezst le dernier parametre de ta fonction.
Tu gardes ca comme une propriete de ta classe et tu le reutilises.

Normalement, c'est bon.