Page 1 sur 1
Gestion des sites avec la version 7.2.7
Posté : 23 juil. 2009, 23:41
par Denis Fradet
Bonsoir,
Je viens d'installer la version 7.2.7 (avec désintallation de la 7.2.6) et j'ai des problèmes avec les droits lorsque je veux ajouter ou modifier un site, il me dit que je ne suis pas administrateur de machine ... alors que je suis administrateur de ma machine
J'ai bien vérifié, je suis en XP SP3 et je suis bien admin, mais pas admin en direct de la machine mais je fait partie du groupe des admins sur ma machine. J'ai essayé avec le logon local d'admin de la machine (ekadmin

) et la ça marche.
J'ai vérifié le droit du répertoire dbase et je peux bien écrire dessus, j'ai lancer le programme de base de donnée et je peux mettre à jour en utilisant la version 7.2.6
J'ai l'impression qu'il y a une subtilité dans les logons admin que Prism me gère pas
A propos du logon admin, Il faut entrer un clé de validation alors que c'est la même personne et la même machine

Et pire impossible de le démarrer car en changeant de compte et bien les fichiers de "my documents" ne sont pas là

Bref ça m'a bien énervé ... Ca serait mieux de pouvoir choisir un répertoire par défaut comme le catalogue.
Pendant que j'y suis la 7.2.7 et 6 me dise que je n'ai pas les droits admin pour faire la MAJ ... Bon ça fait des mois que je le fait et ça marchait aussi avec la V6
Re: Gestion des sites avec la version 7.2.7
Posté : 24 juil. 2009, 13:51
par Cyril Cavadore
Bonjour,
la base de donnée gerant les sites etant dans les repertoires c:\program files\prism\prism_v7\dbase, windows ne va qu'autoriser les administrateurs d'y toucher... Comme un message propre n'est pas renvoyé par Windows, j'ai du faire cette fonction :
Code : Tout sélectionner
function IsWindowsAdmin: Boolean;
const
SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5));
SECURITY_BUILTIN_DOMAIN_RID = $00000020;
DOMAIN_ALIAS_RID_ADMINS = $00000220;
var
hAccessToken : THandle;
ptgGroups : PTokenGroups;
dwInfoBufferSize : DWORD;
psidAdministrators: PSID;
i : Integer;
bSuccess : BOOL;
begin
Result := False;
bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, True, hAccessToken);
if not bSuccess then
begin
if GetLastError = ERROR_NO_TOKEN then
bSuccess := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY,hAccessToken);
end;
if bSuccess then
begin
GetMem(ptgGroups, 1024);
bSuccess := GetTokenInformation(hAccessToken, TokenGroups,ptgGroups, 1024, dwInfoBufferSize);
CloseHandle(hAccessToken);
if bSuccess then
begin
AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,0, 0, 0, 0, 0, 0,
psidAdministrators);
{$R-}
for i := 0 to ptgGroups.GroupCount - 1 do
if EqualSid(psidAdministrators, ptgGroups.Groups[i].Sid) then
begin
Result := True;
Break;
end;
{$R+}
FreeSid(psidAdministrators);
end;
FreeMem(ptgGroups);
end;
end;
que j'ai testée chez moi ...
Je pense que tu as un PC configuree par une entreprise avec des droits tordus .. (Ekadmin ca me dit qq chose...

Si tu es familier avec le code, essaie cette fonction...
Cyril
Re: Gestion des sites avec la version 7.2.7
Posté : 24 juil. 2009, 15:04
par Denis Fradet
Bonjour Cyril,
Malheureusement je ne connais pas le C seulement VB
J'ai lancer la commande GPRESULT qui me donne les résultat suivant
Code : Tout sélectionner
The computer is a part of the following security groups:
--------------------------------------------------------
BUILTIN\Administrators
Everyone
Debugger Users
BUILTIN\Users
NT AUTHORITY\NETWORK
NT AUTHORITY\Authenticated Users
Lenomdemamachine$
Domain Computers
Code : Tout sélectionner
The user is a part of the following security groups:
----------------------------------------------------
Domain Users
Everyone
Debugger Users
BUILTIN\Administrators
BUILTIN\Users
NT AUTHORITY\INTERACTIVE
NT AUTHORITY\Authenticated Users
LOCAL
Et oui il y a des entreprises qui aiment bien mettre des batons dans les roues des utilisateurs, y a pas photo
PS : j'ai fait une recherche sur le web et j'ai trouvé ce lien pour du VB
http://www.martin2k.co.uk/forums/lofive ... ?t606.html et j'ai copié collé le code et je suis bien un admin
Re: Gestion des sites avec la version 7.2.7
Posté : 24 juil. 2009, 19:30
par Cyril Cavadore
Argh du VB ...
Ca ressemble a mon code, mais il doit y avoir une petite nuance....
Faut comparer..
Cyril
Re: Gestion des sites avec la version 7.2.7
Posté : 24 juil. 2009, 22:46
par Denis Fradet
Cyril,
J'ai regardé différents codes VB ou C et dans tous les cas le GetTokenInformation se fait en 2 passe, la première pour avoir la taille du buffer et la deuxième pour récupérer les données.
Soit dit en passant, le code que tu montre si pour une raison X ou Y ne trouve pas le données que tu cherche dis que tu n'est pas admin, ce qui vient à dire que "l'absence de preuve est la preuve de l'absence"
Re: Gestion des sites avec la version 7.2.7
Posté : 24 juil. 2009, 23:08
par Cyril Cavadore
Denis Fradet a écrit :Cyril,
J'ai regardé différents codes VB ou C et dans tous les cas le GetTokenInformation se fait en 2 passe, la première pour avoir la taille du buffer et la deuxième pour récupérer les données.
Soit dit en passant, le code que tu montre si pour une raison X ou Y ne trouve pas le données que tu cherche dis que tu n'est pas admin, ce qui vient à dire que "l'absence de preuve est la preuve de l'absence"
Salut,
1. c'est pas du C mais du pascal ou du Delphi objet
2. J'ai imprimé ta page de code en VB , il faut que je la compare a mon code, mais tu peux aussi faire l'excercice

))
On avance...
A+
Re: Gestion des sites avec la version 7.2.7
Posté : 25 juil. 2009, 14:54
par Denis Fradet
Cyril,
J'ai cherché, et il faut appeler la fonction GetTokenInformation deux fois, la première pour la taille du buffer, la seconde pour récupérer les données
http://msdn.microsoft.com/en-us/library ... S.85).aspx
j'ai fait tourner le code VB que j'ai indiqué en lien, et la taille du buffer renvoyeé est de 5536 alors que ton code n'est prévoit que 1024. Pour en être sûr j'ai forcé la taille du buffer à 1024 (après le premier GetTokenInformation) et là il me dit que je ne suis pas admin. Je l'ai ensuite forcé à 10240 et je redeviens admin.
Comme c'est un portable de travail, la liste des groupes auquels j'appartiens est loungue comme le bras, ce qui est peut être la source du problème. Le logon admin

que j'ai utilisé étant local la liste des groupes est plutôt restreinte
A+
Re: Gestion des sites avec la version 7.2.7
Posté : 31 juil. 2009, 01:19
par Cyril Cavadore
ok, bien vu...
Bon, j'ai fait la modif,
Code : Tout sélectionner
bSuccess :=GetTokenInformation(hAccessToken,TokenGroups,Nil,0,RequiredInfoBufferSize);
If (RequiredInfoBufferSize>0) then // bSuccess=False!!
Begin
GetMem(ptgGroups,RequiredInfoBufferSize);
RequiredInfoBufferSize : me retourne 260 octets, et je suis tjrs admin
Ca doit varier d'une machise a une autre
Dans la 7.2.8
A+