Administratorenrechte sind verschwunden

Fall 1: Die Gruppe 'Administratoren' ist noch vorhanden, aber das Recht 'Super' wurde daraus entfernt.

Auswirkungen

  • Es gibt keinen Reiter 'Berechtigungen' mehr auf den Benutzergruppen, wo das Recht 'Super' gesetzt werden könnte.

Abhilfe

Starten Sie Vertec mit dem Parameter /DD. Das Benutzerrecht wird automatisch wieder hinzugefügt.

Fall 2: Die Administratorengruppe wurde entfernt.

Auswirkungen

  • Es gibt keinen Reiter 'Berechtigungen mehr auf den Benutzergruppen, wo ein Superrecht gesetzt werden könnte.
  • Der Ordner Einstellungen ist verschwunden (in den meisten Fällen, ausser er wurde noch anderen Benutzergruppen zur Ansicht freigegeben)

Abhilfe

Starten Sie Vertec mit dem Parameter /DD. Die Administratorengruppe wird wieder erzeugt und mit dem Super-Recht versehen. Die Gruppe muss auf der Oberfläche wieder sichtbar sein. Der Administratorengruppe sind jedoch keine Bearbeiter zugeordnet.

Falls es noch andere Gruppen gibt, die das Super-Recht haben, kann sich ein Bearbeiter an Vertec anmelden, der einer solchen Gruppe zugeordnet ist. Er kann die Zuordnungen der betreffenden Bearbeiter an die Administratorengruppe manuell vornehmen.

Ist dies nicht der Fall, wird's etwas komplizierter. Die Anpassung muss dann auf der Datenbank vorgenommen werden. Gehen Sie wie folgt vor:

  1. Schliessen Sie Vertec.
  2. Öffnen Sie die IBOConsole (für Firebird) oder den Enterprise Manager (für MS SQL Server)  oder ein anderes GUI Manager Programm und verbinden Sie sich mit der Vertec Datenbank.
  3. Setzen Sie folgende SQL-Statements ab und merken Sie sich jeweils die Nummern oder Begriffe in <eckigen Klammern>. Diese brauchen Sie später, um die Statements abzusetzen.
  4. Eruieren der neuen Administratorengruppe:

    select * from benutzergruppe where eintragid='BenutzerGruppeSuper'

    Die Bold_Id des Resultats ist die <Bold_ID_Super>.

  5. Auswählen eines Benutzers:

    select * from projektbearbeiter

    Einen auswählen und den Namen und die Bold_ID merken. Ergibt <Bold_ID_User> und <Bearbeiter>.
  6. Dann die Gruppen suchen, in denen dieser User zugeordnet ist:

    select * from benutzergruppe where bold_ID in (select gruppen from benutzergruppenlink where benutzer = <Bold_ID_User>).

    Eine Gruppe davon auswählen und die Bezeichnung und die Bold_ID merken. Ergibt <Bold_ID_Gruppe> und <Benutzergruppe>.
  7. Dann wird der gewählte Bearbeiter "umgehängt":
    Testen, ob es nur ein Resultat gibt:

    select * from benutzergruppenlink where gruppen = <Bold_ID_Gruppe> and benutzer = <Bold_ID_User>

    Falls ja:

    update benutzergruppenlink set gruppen = <Bold_ID_Super> where gruppen = <Bold_ID_Gruppe> and benutzer = <Bold_ID_User>

  8. Datenbank schliessen.
  9. Danach Vertec als <Bearbeiter> öffnen. Dieser ist nun Teil der Administratorengruppe und muss folgende Einstellungen vornehmen:
  1. Falls <Bearbeiter> nicht der Administrator ist, muss der Administrator der Administratorengruppe zugeordnet werden.
  2. Der <Bearbeiter> muss der <Benutzergruppe> zugeordnet werden.
  3. Falls <Bearbeiter> nicht Administrator ist, muss er aus der Administratorengruppe jetzt entfernt werden.
  4. Vertec neu starten. Nun sollte alles wieder funktionieren.

Fall 3: Es gibt keine Administratorengruppe mehr. /DD erzeugt keine neue.

Problem: Die Gruppe ist irgendwo im System noch vorhanden ,wird aber nicht mehr angezeigt. Auch nach dem Aufstarten von Vertec mit dem Parameter /DD (siehe Fall 2) ist keine Administratorengruppe vorhanden.

Abhilfe

Die Anpassung muss auf der Datenbank vorgenommen werden. Gehen Sie wie folgt vor:

  1. Schliessen Sie Vertec.
  2. Öffnen Sie die IBOConsole (für Firebird) oder den Enterprise Manager (für MS SQL Server)  oder ein anderes GUI Manager Programm und verbinden Sie sich mit der Vertec Datenbank.
  3. Setzen Sie folgende SQL-Statements ab und merken Sie sich jeweils die Nummern oder Begriffe in <eckigen Klammern>. Diese brauchen Sie später, um die Statements abzusetzen.
  4. Löschen der "verwürgten" Einträge:

    delete from businessclassesroot where bold_id in (select bold_id from benutzergruppe where eintragid='BenutzerGruppeSuper')

    delete from benutzergruppe where eintragid='BenutzerGruppeSuper'

  5. Schliessen Sie die Datenbank und starten Sie Vertec mit dem Parameter /DD. Schliessen Sie Vertec und öffnen Sie wieder die Datenbank.

  6. Bold_ID von neuer Benutzergruppe bestimmen:

    Select * from businessclassesroot where bold_id in (select bold_id from benutzergruppe where eintragid='BenutzerGruppeSuper')

    Merken Sie sich die Bold_ID des Resultats. Ergibt <Bold_ID_Super>

  7. Nachführen der neuen Bold_ID:

    update benutzergruppenlink set gruppen= <Bold_ID_Super> where gruppen not in (select bold_id from benutzergruppe)

    update abstractusereintraglink set abstractuserasroot= <Bold_ID_Super> where abstractuserasroot not in (select bold_id from benutzergruppe)

  8. Schliessen Sie die Datenbank.
  9. Nun sollte Vertec wieder normal laufen.

18.02.2008 | 22.02.2008