13 Stimmen

Was bedeutet "Active Directory Integration" in Ihrer .NET-Anwendung?

Unsere Marketingabteilung nennt die "Integration von aktiven Verzeichnissen" als einen der wichtigsten Kundenwünsche, aber unser Unternehmen scheint nicht die nötige Aufmerksamkeitsspanne zu haben, um (1) zu entscheiden, welche funktionalen Änderungen wir zu diesem Zweck vornehmen wollen, (2) ein breites Spektrum von Kunden zu befragen, um die am meisten gewünschten funktionalen Änderungen zu ermitteln, und (3) dies trotzdem in der nächsten Woche zum "heißen Eisen" zu machen. Um über das allgemeine Thema der "Active Directory-Integration" hinauszukommen, was bedeutet das in Ihrer .NET-Anwendung, sowohl in ASP.NET als auch in WinForms?

Hier sind einige Beispiele für Änderungen, die ich berücksichtigen muss:

  1. Wird den Administratoren beim Erstellen und Verwalten von Benutzern in Ihrer Anwendung eine Liste aller AD-Benutzer oder nur eine Gruppe von AD-Benutzern angezeigt?
  2. Wenn Sie innerhalb Ihrer Anwendung neue Sicherheitsgruppen erstellen (wir nennen sie Abteilungen, wie z. B. "Human Resources"), sollten Sie dann neue AD-Gruppen erstellen?
  3. Weisen die Administratoren die Benutzer den Sicherheitsgruppen innerhalb Ihrer Anwendung oder außerhalb über AD zu? Spielt das eine Rolle?
  4. Ist der Benutzer bei Ihrer Anwendung angemeldet, weil er bei Windows angemeldet ist? Wenn nicht, verfolgen Sie die Benutzer mit Ihrer eigenen Benutzertabelle und einer Art Fremdschlüssel in AD? Welchen Fremdschlüssel verwenden Sie, um App-Benutzer mit AD-Benutzern zu verknüpfen? Müssen Sie nachweisen, dass Ihr Anmeldeverfahren die Kennwörter der Benutzer schützt?
  5. Welchen Fremdschlüssel verwenden Sie, um App-Sicherheitsgruppen mit AD-Sicherheitsgruppen zu verknüpfen?
  6. Wenn Sie eine WinForms-Komponente in Ihrer Anwendung haben (wir haben sowohl ASP.NET als auch WinForms), verwenden Sie den Membership Provider in Ihrer WinForms-Anwendung? Derzeit ist unser Mitgliedschafts- und Rollenmanagement älter als die Version des Frameworks, daher verwenden wir den Membership Provider nicht.

Habe ich noch andere Bereiche mit funktionalen Änderungen übersehen?

Folgefrage

Können Anwendungen, die die "Active Directory-Integration" unterstützen, Benutzer an mehr als einer Domäne authentifizieren? Nicht, dass ein Benutzer sich bei mehr als einer Domäne authentifizieren würde, sondern dass verschiedene Benutzer desselben Systems sich bei verschiedenen Domänen authentifizieren würden.

11voto

marc.d Punkte 3784

Aus der Sicht eines Administrators möchte ich, dass eine Anzeigenintegration folgende Aufgaben erfüllt

  1. Niemals in das AD zurückschreiben, ich vertraue in diesem Punkt einfach nicht auf Software von Drittanbietern.

  2. die Möglichkeit, Benutzer aus AD zu importieren

  3. die Möglichkeit, eine Sicherheitsgruppe zu erstellen, z.B. "ApplicationXYZ Users", die für die Verteilung von Software und Rechten (freigegebene Ordner, ...) verwendet werden kann, wenn dies notwendig ist, aber dies sollte Nummer 1. gehorchen, so dass der Administrator die Sicherheitsgruppe erstellt und dem Appserver mitteilt, welche es ist.

  4. Single Sign-On (erleichtert den Benutzern die Arbeit, da sie nur ihre Windows-Anmeldung kennen müssen, und setzt die domänenweite Kennwortrichtlinie durch)

  5. ein deaktivierter AD-Benutzer oder ein AD-Benutzer, der sich nicht mehr in "ApplicationXYZ Users" befindet, sollte sich nicht anmelden können

  6. AD-Gruppe mit Anwendungsgruppe verknüpfen, aber das wäre optional, ich kann wirklich ohne das leben

hth

4voto

Tom Jelen Punkte 2559

Als Schlüssel für die Zuordnung von AD-Benutzern/Gruppen zu Dingen in der Anwendung verwende ich normalerweise den Security Identifier (SID) des AD-Benutzers/der AD-Gruppe.

3voto

frankodwyer Punkte 13870

Ist der Benutzer bei Ihrer Anwendung angemeldet, weil er bei Windows angemeldet ist?

Für mich ist das in erster Linie die Bedeutung der AD-Integration (abgesehen von Windows Lockin :-). Wenn die Organisation zum Beispiel die Anmeldung mit öffentlichem Schlüssel implementiert hat, erhalten Sie sie in Ihrer Anwendung umsonst.

Müssen Sie nachweisen, dass Ihr Anmeldeverfahren die Kennwörter der Benutzer schützt?

Wenn Sie AD verwenden, sollten Sie in der Regel nicht einmal ein Kennwort sehen, es sei denn, Sie haben noch ein altes NT4-System im Einsatz (dann sollten Sie kein Kennwort speichern müssen).

Weisen die Administratoren die Benutzer den Sicherheitsgruppen innerhalb Ihrer Anwendung oder außerhalb über AD zu? Spielt das eine Rolle?

Über AD. Nach der einmaligen Anmeldung wäre es ein großer Vorteil, wenn Sie alle AD-Tools verwenden könnten, die Sie für die Sicherheitsverwaltung der Anwendung, für Berichte über Berechtigungen, für die Erstellung von ACLs usw. haben. Sie sollten diese Dinge nicht für jede Anwendung neu erfinden müssen.

2voto

Brann Punkte 30431

Einer der Hauptvorteile der Verwendung von AD besteht darin, dass es einem speziellen Team ermöglicht, alle Benutzer-/Grantangelegenheiten zu verwalten. Wenn ein neuer Benutzer eintrifft, bittet sein Vorgesetzter das zuständige Team, ihm Zugang zu den Anwendungen A, B und C zu gewähren, und dieses Team kann all diese Dinge direkt von AD aus erledigen. In der Tat duplizieren sie oft einen anderen Benutzer (in der Regel einen Mitarbeiter).

2voto

Keith Williams Punkte 2187

Als jemand, der sowohl AD-Administrator ist als auch derzeit eine interne Anwendung entwickelt, die in AD integriert werden muss, möchte ich meine Gedanken dazu darlegen:

  • Active-Directory-Benutzer haben eine eindeutige GUID; wenn Ihre Anwendung Folgendes unterstützen müsste beide AD und AspNetSqlMembership-Authentifizierung könnten Sie ein GUID-FK-Feld in Ihrer User/Person-Tabelle haben und ein Flag, das angibt, zu welchem Informationsspeicher der Benutzer gehört (Formulare oder AD)
  • Als Administrator sollte ich in der Lage sein, den Zugriff auf meine Anwendung auf Benutzer unterhalb einer bestimmten OU zu beschränken - ich möchte nicht, dass sich meine SQL Server- oder BackupExec-Arbeitskonten anmelden können!
  • Verwenden Sie in Ihrer Dokumentation eine andere OU als die Standard-OU "Benutzer" - die meisten realen Implementierungen verschieben ihre Benutzer aus diesem Container heraus, und für unerfahrene Administratoren ist es beruhigend, ein Beispiel für eine LDAP-Abfrage zu haben, das OUs einschließt (z. B. Meine Firma/Benutzer/Führungskraft oder ähnliches).
  • Wenn Sie die AD-Formularauthentifizierung verwenden, ist es möglich, dass Sie das Kennwort abfangen und etwas Bösartiges damit anstellen können. Dies wird am besten von Ihrer Rechtsabteilung in Ihrer Dienstleistungsvereinbarung/Gewährleistung geregelt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X