3Danke
ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
1250
1250
EMPFEHLEN
-
Hallo,
ich arbeite an einem Projekt und habe die Aufgabe unser Programm insofern zu modifizieren, dass es den
Angemeldeten Benutzer abfragt zur Authentifizierung. An sich erscheint es am sinnvollsten, dass die Authentifizierung
automatisch mit den vom Nutzer angegeben Daten beim Windows Login erfolgen sollte. Beim Programm würde sich
dann eine Auswahl für "anmeldung über lokal/ldap" anbieten.
An sich entspricht mein Problem diesem Thread nur dass es um eine rein Javabasierte Lösung geht und ich eben
eine Vorauswahl für die Abfragemethode ermöglichen muß.
http://www.tutorials.de/forum/enterp...-moeglich.html
Nach einiger Recherche bin ich schlichtweg etwas verloren.
Deswegen wollte ich um hilfe bitten. Vielleicht hat sich jemand schon mal mit dem Thema auseinander gesetzt.
Bisher habe ich mir JAAS, nen bissl JGSS, Kerberos und JNDI angeschaut. Allerdings fehlt mir immer noch der Ansatz.
1. Ich habe auch keinen schimmer wie ich die Windows Credentials nutzen kann damit der Nutzer seine Daten
nicht erneut angeben muß.
2. Mir ist auch etwas schleierhaft wie ich die Rolle des angemeldeten Benutzers ermitteln kann
Wichtig ist das es eine rein clientseitige Lösung sein muß.
Mir ist es nicht erlaubt irgendwelche tools/dienste auf den Servern zu installieren.
Danke euch vielmals für jede hilfe. In dem Bereich bin ich noch ein Neuling.
-
13.04.10 16:08 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
schau mal hier:
http://blog.springsource.com/2009/09...rity-kerberos/
http://www.nateirwin.net/2007/01/19/...rnet-explorer/
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
danke schon mal für deine schnelle reaktion

Allerdings scheint mir der Ansatz nach erstem Lesen von meine Situation ungeeignet, da es
um Web-Apps geht und des Weiteren ein "third party" framework ist.
Sag mir bitte sollte ich es mißverstanden haben.
Wie gesagt such ich einen rein auf Java basierenden Ansatz für ein Java-Programm, dass auf einem
Rechner in einer Domain betrieben wird. Änderungen am AD sind nicht möglich oder nur minimal.
Hauptsächlich geht es mir darum entweder den aktuell angemeldeten Benutzer zu erfahren und seine Rollen/Rechte
oder den aktuell angemeldeten Benutzer mit seinen beim Login angegeben Daten ohne erneute angabe von
Account/Password am LDAP zu authentifizieren.
Eine grobe Richtung(vielleicht auch nen bissl genauer), ein Link zu tut/lib's oder ein Tip mit welchen Klassen ich
da ran komme wäre unglaublich hilfreich.
-
Vielleicht suchst Du so etwas?
Sun Doku: http://java.sun.com/j2se/1.5.0/docs/...kage-tree.html
Deutsche Doku: http://www.dpunkt.de/java/Programmie...erheit/14.html
Allerdings dabei beachten: http://lkamal.blogspot.com/2008/09/e...n-library.html
sonst meckert dein Eclipse erstmal.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
package de.tutorials.sso; import com.sun.security.auth.module.NTSystem; import com.sun.security.auth.module.NTLoginModule; public class UserName { public static void printUserInfo() { NTSystem system = new NTSystem(); System.out.println("User's name: " + system.getName()); System.out.println("User's domain: " +system.getDomain()); } public static void main(String[] args) { printUserInfo(); } }
-
Ja das hilft mir wirklich für einen der Fälle.
Für die lokale Variante ist das schon ideal und ausreichend, wenn ich noch die Benutzerrolle finde.
Ich les mich jetzt erst mal ein in die entsprechenden Klassen.
Hast du zufällig noch einen Tip wie ich aus der primaryGroupID den Gruppennamen erhalten
bzw. aus den GroupSID's.
Meine google suche hat bisher nur unbeantwortete Threads geliefert oder es ging Richtung LDAP abfragen mit JNDI.
Ist das die richtige Richtung?
Wie gesagt, bin in diesem Javabereich ein absoluter Neuling...
-
13.04.10 22:32 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
huch sorry, hab überlesen, dass du keine WEBApp baust. Willsts du nur überprüfen, ob der Benutzer in einer bestimmten AD Gruppe drin ist?
Wenn ja könntest das über eine LDAP Abfrage realisieren, die als Suchfilter den aktuellen Benutzer und die notwendige Gruppe enthält.
Wenn die Suchabfrage dann ein Ergebnis zurück liefert, dann ist ist der User in der gewünschten Gruppe.
schau mal hier:
http://www.tutorials.de/forum/java/2...-nachname.html
http://stackoverflow.com/questions/5...-a-given-group
http://waffle.codeplex.com/
http://support.microsoft.com/kb/297951
http://www.windowsitpro.com/article/...a-number-.aspx
LDAP Abfragen kann man auch recht bequem über Springs LdapTemplate durchführen:
http://www.tutorials.de/forum/java/2...ptemplate.html
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
danke

ich les mich grad durch die Dokus und Versuche das eine oder andere.
Bisher sieht es so aus als wäre das alles gut nutzbar um mein Problem zu lösen.
Ich melde mich sobald ich einen genaueren überblick habe.
-
Vielen Dank noch mal für eure Hilfe.
Mit Waffle konnte ich viele der mir gestellten Aufgaben lösen.
Eine alternative hätte ich in JAAS und JNDI gesehen allerdings wäre diese Lösung für meinen
speziellen fall problematisch geworden (rechte und co).
-
So nach reichlich Arbeit funktioniert fast alles.
Allerdings habe ich ein Problem.
Die Anmeldung an eine Domäne (logonDomainUserEx) funktioniert nur mit dem aktuell an Windows angemeldeten Account.
Ich benutze für diesen Teil Waffle 1.3, welches die Advapi32 api nutzt.
Versuche ich einen anderen account mit korrekten Daten anzumelden bekomme ich immer diesen Fehler geworfen:
"Zuordnungen von Kontennamen und Sicherheitskennungen wurden nicht durchgeführt"
Dagegen funktioniert der vom System angelegte Administrator-Account bei der Anmeldung.
Nach google Suche kann ich sagen, dass es nicht an einer Umbennung der entsprechenden Konten liegt.
Ich hab viel versucht aber komme bisher noch nicht auf die Lösung.
Kennt sich jemand mit Waffle bzw. Advapi32 aus und kennt den Fehler?
Edit:
Der Fehler wird in dem Teil des Logonprozesses ausgelöst:
Code :1 2 3 4
public WindowsIdentityImpl(HANDLE windowsIdentity) { userGroups = Advapi32Util.getTokenGroups(windowsIdentity); windowsAccount = Advapi32Util.getTokenAccount(windowsIdentity); // Diese Funktion führt zu dem genannten Fehler }
Mir war es möglich durch eine alternative abfrage das für mich nötige zu Ermitteln.
Allerdings würde ich gerne verstehen warum in meiner Testumgebung es zu diesem Problem kommt.Geändert von Ashaman (27.04.10 um 14:50 Uhr)
Ähnliche Themen
-
LDAP für PHP unter Windows installieren
Von ali_f im Forum PHPAntworten: 0Letzter Beitrag: 09.02.07, 10:52 -
Struts: Windows Credentials JAAS in Tomcat
Von philjand im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 11.04.06, 15:41 -
LDAP Authentifizierung über ldap_bind()
Von FactorX im Forum PHPAntworten: 1Letzter Beitrag: 21.02.06, 16:06 -
Subversion über LDAP authentifizieren lassen
Von sebo85 im Forum Linux & UnixAntworten: 0Letzter Beitrag: 11.05.05, 14:41 -
ASP: AD Abfrage über LDAP
Von MrBarcode im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 19.08.04, 14:11





Zitieren

Login





