Announcement

Collapse
No announcement yet.

Benutzerdaten speichern

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

  • Benutzerdaten speichern

    Guten Tag,

    ich bin hier neu und habe bis jetzt mehr für das Web Programme erstellt.

    Ich möchte eine Windowsanwendung schreiben, welche die Daten des Benutzers speichert. Soetwas wie Globale Variablen.

    Dieses Daten sollten dann überall abrufbar sein. Benutzerechteprüfung!!

    Geht das oder gibt es eine andere Möglichkeit.

    Für Eure Hilfe bedanke ich mich im Voraus.

    Bodo

  • #2
    Hallo,
    etwas genauer sollte die Beschreibung schon sein. Generell ist das <i>Active Directory</i> (in der Funktion eines LDAP) ein passender Ort, um benutzerrelevante Informationen zu speichern. Das Problem der Authentifizierung und Autorisierung wird damit gleich mit erledigt. Die Informationen aus dem Active Directory wären im LAN/WAN auf allen Rechnern verfügbar (soweit die Benutzerrechte dafür reichen).

    Im .NET Framework ist der Namespace <i>System.Management</i> bzw. <i>System.DirectoryServices</i> für den Zugriff zuständig

    Comment


    • #3
      Vielen Dank für Deine Hilfe!!

      ich wollte nach dem sich ein Benutzer über eine Form eingelogt hat, den Benutzername speichern. Auf diese Variable wollte ich dann imm zugriff nehmen, wenn es um Benutzerrechte (Programmteile z.B. bestimmte Menüpunkte) geht.

      Mit Statischen Variablen, Statischen Klassen habe ich es schon ansatzweise probiert, aber es kommt dann immer zu Fehlermeldungen, die ich nicht verstehe.

      Gibt es eine Möglichkeit das problem zulösen?

      Dein Hinweis mit System.Management bzw. System.DirectoryServices werde ich mal weiterverfolgen.

      Ich freue mich über jeden Tipp

      mfg

      Bod

      Comment


      • #4
        Hallo,

        für diesen Zweck ist das Active Directory zwar indirekt zuständig, aber die genannte Aufgabe wird über die Klasse <b>WindowsIdentity</b> (Standard-Authentifizierung von Windows über das Benutzerkonto) oder <b>GenericIdentity</b> (völlig eigene Implementierung der Benutzer-Authentifizierung) eleganter umgesetzt. Das .NET Framework unterstützt eine rollenbasierende Berechtigungsprüfung (Beispiel: <i>Thread.CurrentPrincipal.IsInRole</i>), so dass dieser Weg die eigene Implementierung unnötig macht.

        Im .NET Framework ist der <i>System.Security.Principal</i>-Namespace für die Role-Based Security zuständig. Um eine rollenbasierende Auswertung zu unterstützen, muss die Anwendung auf Objektinstanzen zurückgreifen, die die Interfaces <i>IIdentity</i> (Authentifizierter Benutzer) und <i>IPrincipal</i> (Kombination der Benutzer-Identität mit den Rollen) unterstützen. Das IIdentíty-Interface stellt die Methode Name, IsAuthenticated und AuthenticationType zur Verfügung. Da die Rollen durch das Interface IPrincipal abgedeckt werden, erlaubt das .NET Framework die Trennung in die Funktionsbereiche Authentifizierung und Rollen-basierende Rechte. Die IPrincipal-Interface-Methode Identity stellt dabei die Verbindung zu IIdentity her, so dass die Methode IsInRole die Rollenzugehörigkeit eindeutig prüfen kann, ohne dass eine bestimmte Authentifizierungsart vorgeschrieben wird. Aus diesem Grund darf man über <b>GenericIdentity</b> auch eine völlig eigene Benutzerprüfung nachrüsten (wenn es dafür einen Grund gibt)

        Comment


        • #5
          Hallo Andreas,

          vielen Dank für Deine Bemühungen.

          Gibt es dafür ein Beispielscript?!

          mfg

          Bod

          Comment


          • #6
            Hallo Andreas,

            ich möchte doch einfach nur die Benutzerdaten aus der Datenbank die mit dem benutzername übereinstimmen in eine Art variable schreiben und dann daraufzugreifen.

            Kannst Du mir da einen tipp geben?!

            mfg

            Bod

            Comment

            Working...
            X