Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 11h40   #1
Invité de passage
 
Inscription : mars 2009
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 61
Points : 4
Points : 4
Par défaut Impossible de changer le password

Bonjour,

nous avons crée une procédure pour le changement de mot de passe mais l'exécution nous renvoie les erreurs ci-dessous.

NB: L'utilisateur doit changer son password en exécutant la procédure password et il a le privilège execute pour le faire.

Citation:
ERREURS :

ORA-01031: privilÞges insuffisants
ORA-06512: Ó "schema.PASSWORD", ligne 4
ORA-06512: Ó ligne 1

le corps de la procédure est le suivant :

Code :
1
2
3
4
(n_user IN varchar2,apw IN  varchar2,npw IN  varchar2 )  AS
BEGIN
   execute IMMEDIATE 'alter user '||n_user||' identified by '|| npw ;   
END;
travail2009 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 12h11   #2
Membre du Club
 
nancy carina
Inscription : décembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : nancy carina

Informations forums :
Inscription : décembre 2010
Messages : 34
Points : 45
Points : 45
Bonjour,
il faut attribuer le droit de modification a l'utilisateur
nancy_carina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 13h33   #3
Invité de passage
 
Inscription : mars 2009
Messages : 61
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 61
Points : 4
Points : 4
mais normalement un utilisateur connecté il a le droit de faire un alter user pour changer son propre mot de passe. je n'est pas besoin de lui donner un droit
travail2009 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 18h12   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
La procedure doit être crée en AUTHID CURRENT_USER.
Par ailleurs histoire d'éviter les injections sql, tu peux utiliser le package DBMS_ASSERT
Ca donnerait quelque chose comme :
Code :
1
2
3
4
5
6
CREATE OR REPLACE procedure changePWD (p_new_pwd IN varchar2, p_usr varchar2 DEFAULT USER)
AUTHID CURRENT_USER AS
begin
  execute immediate 'alter user '||dbms_assert.simple_sql_name(p_usr)||' identified by '|| dbms_assert.simple_sql_name(p_new_pwd);
end;
/
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h14.


 
 
 
 
Partenaires

Hébergement Web