Benutzer Simulieren
Zuletzt geändert: 11.12.2024 17:34

EULANDA Benutzer simulieren #

[!NOTE] Die nachfolgenden Informationen dienen zu Testzwecken. Die dargestellte Funktionalität kann sich ohne Ankündigung in zukünftigen EULANDA-Versionen ändern oder komplett entfallen.

Um das Testen von Funktionen und Berechtigungen für verschiedene Benutzer zu erleichtern, gibt es die Möglichkeit einen anderen Benutzernamen zu simulieren.

Um zu verhindern, dass Unbefugte, sich diese Funktion zu Nutze machen, muss der SQL-Benutzer, der sich anmeldet, Mitglied der Rolle db_securityadmin sein. Das Ändern der Mitgliedschaften kann nur durch Administratoren oder eben Mitgliedern von db_securityadmin erfolgen.

Es bietet sich an hierfür einen eigenen SQL-Benutzer anzulegen. Dies kann über folgende Befehle erfolgen. Diese können zum Beispiel im SQL-Designer als Administrator "sa" ausgeführt werden:

CREATE LOGIN eulandaTest with password = 'strenges-passwort!123'
GO
CREATE USER eulandaTest FROM LOGIN eulandaTest
GO
EXEC sp_addrolemember 'eul_superuser', 'eulandaTest'
GO
EXEC sp_addrolemember 'db_securityadmin', 'eulandaTest'

Über die Rollenzugehörigkeit zu eul_superuser wird grundsätzlich die selben Berechtigungen aktiviert, wie beim Standardbenutzer eulanda.

Wenn dieser Test-User aktuell nicht benötigt wird, sollte er über folgenden Befehl deaktiviert werden:

ALTER LOGIN eulandaTest disable

Er kann dann bei Bedarf durch folgenden Befehl wieder aktiviert werden:

ALTER LOGIN eulandaTest enable

Zum Simulieren eines Benutzernamens muss auf dem Windows-Desktop die Textdatei eulanda.ini angelegt werden. Diese muss im einfachsten Fall nur den Eintrag für den simulierten Benutzer enthalten:

[ExecuteAs]
FakeUsername=horst

Es sind aber auch weitere Einstellungen möglich. Über FakePCName kann der PC-Name simuliert werden. Das ist beispielsweise interessant beim Testen von PC-abhängigen Druckergruppen-Zuordnungen. über ExecuteAsUser bzw. ExecuteAsLogin kann bei jedem SQL-Verbindungsaufbau der Ausführungskontext gewechselt werden. Hierzu wird intern der SQL-Befehl EXECUTE AS USER oder EXECUTE AS LOGIN ausgeführt. Des Weiteren kann über InitConnectionSql ein SQL-Befehl hinterlegt werden, der beim Aufbau der SQL-Verbindung ausgeführt werden soll.

[ExecuteAs]
FakeUsername=horst
FakePcName=
ExecuteAsUser=
ExecuteAsLogin=
InitConnectionSql=

Aus dem EULANDA-Startmenü kann dann über einen Klick mit der rechten Maustaste auf den gewünschten Mandanteneintrag der Befehl “Mandant öffnen als…” bei gehaltener STRG-Taste aufgerufen werden. Erst durch das Drücken von STRG wird die eulanda.ini ausgewertet. Als Benutzername tragen Sie den zuvor angelegten Benutzer eulandaTest mit dem entsprechenden Passwort ein.

EULANDA wertet nun die Berechtigungen und Einstellungen des in der INI-Datei hinterlegten Benutzers aus. In der SQL-Registry sollte unter dem USER-Zweig neben .ALLUSER und .DEFAULT der simulierte Benutzername erscheinen. Der Benutzername oder PC-Name kann auch im Taschenrechner über F3 abgefragt werden. Hierzu muss dort Client.Username bzw. Client.PCName als Formel eingegeben werden.