Hallo
ich wollte gerade den Benutzern erlauben selber ihre Passworte zu ändern, aber ich kann AvERP nicht den Pfad zu der Securityfdb vorgeben, weil diese auf dem Linuxserver unerreichbar liegt.
Gibt es eine Möglichkeit AvERP in der AvERPCONNECT oder anderswo mitzuteilen wie der Pfad zu der Security.fdb ist?
Christan
Benutzer darf selber Passwort ändern
Moderator: SYNERPY
-
- Beiträge: 110
- Registriert: Mo Feb 07, 2005 10:45 pm
-
- Beiträge: 205
- Registriert: Fr Jul 01, 2005 6:33 pm
- Wohnort: Leipzig
-
- Beiträge: 79
- Registriert: Do Feb 16, 2006 8:10 am
RE
Ein direkter Zugriff auf die security.fdb ist normalerweise nicht notwendig.
Im AvERPAdmin gibt es im Hauptmenü unter Extras den Punkt: "User darf Passwort selbst ändern".
Dieses muss bei einer neuen security.fdb einmalig ausgeführt werden.
Es werden folgende Änderungen gemacht:
Script:
-------
CREATE EXCEPTION KEINE_BERECHTIGUNG 'Hierzu haben Sie keine Berechtigung';
COMMIT WORK;
SET TERM ^ ;
CREATE TRIGGER USERS_BU0 FOR USERS
ACTIVE BEFORE UPDATE POSITION 0
as
begin
if ((USER <> OLD.USER_NAME) AND (USER <> 'SYSDBA')) then
EXCEPTION KEINE_BERECHTIGUNG;
if (USER <> 'SYSDBA') then
begin
/* Bei Paßwortänderung über AvERP werden diese Angaben als Leer übergeben
sollen aber erhalten bleiben */
NEW.FIRST_NAME = OLD.FIRST_NAME;
NEW.GROUP_NAME = OLD.GROUP_NAME;
NEW.LAST_NAME = OLD.LAST_NAME;
NEW.MIDDLE_NAME = OLD.MIDDLE_NAME;
end
end
^
SET TERM ; ^
COMMIT WORK;
GRANT SELECT ON USERS TO PUBLIC;
GRANT UPDATE(PASSWD, GROUP_NAME, UID, GID, FIRST_NAME, MIDDLE_NAME, LAST_NAME) ON USERS TO PUBLIC;
COMMIT WORK;
Im AvERPAdmin gibt es im Hauptmenü unter Extras den Punkt: "User darf Passwort selbst ändern".
Dieses muss bei einer neuen security.fdb einmalig ausgeführt werden.
Es werden folgende Änderungen gemacht:
Script:
-------
CREATE EXCEPTION KEINE_BERECHTIGUNG 'Hierzu haben Sie keine Berechtigung';
COMMIT WORK;
SET TERM ^ ;
CREATE TRIGGER USERS_BU0 FOR USERS
ACTIVE BEFORE UPDATE POSITION 0
as
begin
if ((USER <> OLD.USER_NAME) AND (USER <> 'SYSDBA')) then
EXCEPTION KEINE_BERECHTIGUNG;
if (USER <> 'SYSDBA') then
begin
/* Bei Paßwortänderung über AvERP werden diese Angaben als Leer übergeben
sollen aber erhalten bleiben */
NEW.FIRST_NAME = OLD.FIRST_NAME;
NEW.GROUP_NAME = OLD.GROUP_NAME;
NEW.LAST_NAME = OLD.LAST_NAME;
NEW.MIDDLE_NAME = OLD.MIDDLE_NAME;
end
end
^
SET TERM ; ^
COMMIT WORK;
GRANT SELECT ON USERS TO PUBLIC;
GRANT UPDATE(PASSWD, GROUP_NAME, UID, GID, FIRST_NAME, MIDDLE_NAME, LAST_NAME) ON USERS TO PUBLIC;
COMMIT WORK;