Announcement

Collapse
No announcement yet.

User-Kontext eines Active Server Objektes

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • User-Kontext eines Active Server Objektes

    Nabent,

    ich habe ein Active Server Objekt erzeugt und kann damit erfolgreich auf das ADSI zugreifen. Mit einer Funktion

    ADsOpenObject(lpszPathName: PWideChar;
    lpszUserName: PWideChar;
    lpszPassword: PWideChar;
    dwReserved: LongInt;
    const riid: TIID;
    out obj): HResult; stdcall; external 'activeds.dll';

    kann ich auch User-Accounts öffnen, danach kann ich alles mögliche damit anstellen, soweit kein Problem. Allerdings bleibt der Session-Kontext weiterin der des IUSR_Blabla.

    Ich befürchte nun, mit dem ADSI auf dem Holzweg zu sein, ich möchte gerne daß der User-Kontext der Session wechselt. Der Standard-Weg ist ja, im IIS anonyme Anmeldung abzuschalten, da will ich auch hin. Dann bekomme ich einen normalen BS-Logon Dialog, was auch OK ist. Was nicht OK ist, dass ich, einmal authentifiziert, diesen Status ohne Restart des Browsers nicht mehr los werde. Ich brauche dringend einen Weg, einen logoff zu erzeugen bzw. den expliziten Logon mit einem neuen Account. Ist es möglich mithilfe meines Active-Server Objektes die Identität unter Angabe neuer Account-Daten (Name, PW) gezielt zu wechseln?

    Für jeden Hinweis der mich der Lösung näher bringt bin ich dankbar.

    Paul

    P.S.: Umgebung: Win2k + Delphi5

  • #2
    Hallo,

    was ist der eigenliche Sinn der Sache? Wenn es nur darum geht, bestimmte Funktionen/Ressourcen nur im Kontext eines bestimmten Benutzers auszuführen, gibt es mehrere Möglichkeiten:

    a) ASP ruft eigenes COM+ Objekt auf, das über COM+ Roles geschützt wird und das unter dem Konto eines höher berechtigten Users ausgeführt wird. Alles wird im Fenster <b>Komponentendienste</b> visuell über die Eigenschaftsdialog konfiguriert.

    b) ASP ruft eigenes COM-Objekt auf, das über die Win32-API-Funktionen <b>LogonUser</b> und <b>ImpersonateLoggedOnUser</b> kurzzeitig den User-Kontext wechselt, bis das Ganze über den Aufruf von <b>RevertToSelf</b> rückgängig gemacht wird.

    c) ASP ruft eine andere ASP auf, die in einem eigenen virtuelle Webverzeichnis mit der Sicherheitseinstellung <b>Hoch</b> installiert wurde. In diesem Fall sorgt der WAM (Web Application Manager des IIS) dafür, dass diese ASP in einer eigenen COM+ Application läuft, wobei diese wie im Fall a) über die Eigenschaftsdialog der Komponentendienste konfiguriert werden kann.
    &#10

    Comment

    Working...
    X