Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:howto:personalized_search
Übersetzungen dieser Seite:

**Dies ist eine alte Version des Dokuments!** ----

A PCRE internal error occured. This might be caused by a faulty plugin

= personalisierte Suche = ;Zusatzfeature: in der Trefferliste einer Intranet-Suche erscheinen nur Dokumente, für die der Suchende zumindest Leserechte hat ;Ziel: in [[Zugriffsrechte-Management]] definierte Funktionalität für ein Netzwerk mit Microsoft Active Directory Service (ADS) zu konzipieren und zu programmieren ;Vorteile: zeitsparende automatisierte Indexerstellung und Generierung von personalisierten Trefferlisten für angemeldete User ;Schlüsselwörter: Portal, Access-Controller, crawlerAccessController, SearchAccessController, Kerberos, TGT, Dateifreigaben, Single Sign On(SSO), JAAS, DocumentFactory.java, RegainToolkit.java(checkGroupArray), ADS (Active Directory Service), RBAC (Role Based Access Control), CMS, Dokumentenmanagement, Wissensmanagement ==Quellen== Klasse net.sf.regain.''RegainToolkit.java'' /** * Checks an array of group names. * * @param accessController The access controller that returned the array of * group names. * @param groupArr The array of group names to check. * @throws RegainException If the array of group names is not valid. */ public static void checkGroupArray(Object accessController, String[] groupArr) throws RegainException { if (groupArr == null) { // Check for null throw new RegainException("Access controller " + accessController.getClass().getName() + " returned illegal " + "group array: null"); } else { // Check for whitespace for (int i = 0; i < groupArr.length; i++) { if (RegainToolkit.containsWhitespace(groupArr[i])) { throw new RegainException("Access controller " + accessController.getClass().getName() + " returned illegal " + "group name containing whitespace: '" + groupArr[i] + "'"); } } } } ==Aufgabenstellung== Besser wäre es, wenn dabei auf das echte Rechtesystem, also z.B. die Dateisystemrechte zugegriffen wird. Es wäre wünschenswert, dass der Login des jeweiligen Portals verwendet wird, was sich jedoch nicht allgemein lösen lässt, da dieser bei jedem Portal höchst unterschiedlich umgesetzt ist. Die einzige Möglichkeit, dies allgemein hinzubekommen, wäre, **regain mit einer eigenen Benutzerverwaltung und einer Login-Seite auszustatten, was jedoch relativ aufwändig wäre**. (Zitat von Til im [http://forum.murfman.de/de/viewtopic.php?t=157 Forum]) ==Lösungsansätze== ;crawlerAccessController: mit der Anweisung in der Kommandozeile cacls X:/pfad/dateiname.txt kann man in einem Microsoft Active Directory (ADS) für jede im regain-Index erfasste Datei ermitteln, welche Gruppen Vollzugriff(''F'') oder Leserechte(''R'') für diese Datei haben. Also wird zur Laufzeit für jede g'rade gecrawlte Datei ''Runtime.getRuntime().exec(cacls X:/pfad/dateiname.txt)''ausgeführt, das Ergebnis wird in den ''crawlerAccessController'' [http://www.dpunkt.de/java/Programmieren_mit_Java/Die_Umgebung_eines_Java_Programms/2.html eingelesen] und die Liste von Gruppen, die Leserechte für dieses Dokument haben, wird zurückzugegeben ;SearchAccessController:als Login des jeweiligen Portals wird ein Login im ADS genutzt. Die mit diesem Login initiierte Session wird vom Kerberos-Protokoll gehalten. An regain adressierte Anfrage wird im SearchAccessController mit der Kerberos-Schlüssel verglichen. Falls der Nutzer im ADS angemeldet ist, wird dir Gruppe zurückgegeben ==Diskussion zum Hack== * [http://forum.murfman.de/de/viewtopic.php?t=347 personalisierte Suche im internen ADS-Windows-Netzwerk ] * [http://forum.murfman.de/de/viewtopic.php?t=130 Nutzerberechtigungen mit dem Access-Controller administrieren] * [http://forum.murfman.de/de/viewtopic.php?t=157 Mehrere Instanzen oder nutzerabhängiger Index bzw. Suche ?] ==alternative Lösungen== ;mehrere Instanzen von Regain mittels Tomcat laufen lassen: URL-abhängige Lösung. Dabei lässt sich Usermanagement/ [http://ms2.alien.de/0410/content/view/80/55/ Authentifizierung über Tomcat in der web.xml] realisieren. Voraussetzung dabei ist, dass man händisch die im Index zu erfassende Dokumente mittels whitelist und blacklist pflegt. Akzeptable Lösung, wenn die für unterschiedliche Nutzergruppen zugängliche Daten sauber in unterschiedlichen Verzeichnissen abgelegt sind. ;mit [http://gertranssmb3.berlios.de/output/smbcacls.1.html smbcacls] eine Liste von [http://de.wikipedia.org/wiki/Access_Control_List ACL's] erstellen: ...und diese dann in das [http://ms2.alien.de/0410/content/view/80/55/ security-constraint-Format] überführen. Also was im Absatz oben beschrieben ist, zu automatisieren. Wäre wahrscheinlich nur für User, die Linux haben, machbar. Aber hier kenne ich mich zu wenig aus. ==Einschränkungen== ... sind hier wörtlich zu verstehen. Da eine Suche mit Rücksicht auf die Zugangsrechte des Suchenden nur dann möglich ist, wenn er bei der Suche angemeldet ist. Also entweder muss man sich für die Suche bei Tomcat wie oben beschrieben anmelden und dann darf das Browser-Fenster nicht geschlossen werden, bis alle Suchvorgänge durchgeführt sind oder im Intranet wird eine intelligente Lösung realisiert, die dafür sorgt, dass die Anmeldung am Arbeitsplatz-Rechner gleichzeitig als Anmeldung bei der Suche/ Tomcat gilt. So eine Lösung ist von der jeweiligen Intranet-Konfiguration abhängig. ==Wiederverwendung der Lösung== da die Crawler-Authentifizierung gegenüber einer Ressource (Netzlaufwerk) für das im Posting [http://forum.murfman.de/de/viewtopic.php?t=350 wie kann ich eine Seite Login crawlen?] gewünschtes Feature vermutlich ähnlich umzusetzen ist, wie im Hack 'personalisierte Suche' anvisierte Funktionalität, wäre es sinnvoll, die Kräfte zu bündeln ==Weblinks== * [http://de.wikipedia.org/wiki/OpenID OpenID] ist ein Single-Sign-On-System, welches die übliche Anmeldung mit Benutzername und Passwort ersetzt. * [http://www.science-computing.de/downloads/s+c-fachartikel_sso_2006.pdf Eintrittskarte ins Internet Single-Sign-On mit Kerberos und LDAP] * [http://www.fertig-consulting.de/Linux/pdf/samba.pdf Bestandteile von Samba] * [http://www-i4.informatik.rwth-aachen.de/content/staff/homes/thissen/DatKom/Heise%20-%20sambaSkript.pdf Netzwerkprotokoll zum Filesharing zwischen Linuxservern und Windowsclients] * [http://www.oio.de/public/java/jaas/sso-jaas-kerberos-tutorial.htm JAAS Tutorial] (Single Sign-On mit Kerberos) In diesem Artikel wird der Einsatz eines Moduls für Kerberos beschrieben. Das Modul "Krb5LoginModule" bietet die Möglichkeit, Benutzer über deren Windows2000 oder Solaris-Systemlogin zu authentifizieren. * [http://transportbroker.vce.de/ressources/documents/Evaluierung_der_JAAS-AP.pdf Java Authentication and Authorization Service(JAAS) 1.0] * [http://wwwmnmteam.informatik.uni-muenchen.de/pub/Diplomarbeiten/fack01/HTML-Version/main.html Rechtekonzept für die Mobile Agent System Architecture (MASA)] 2.9.1 Die Java Sicherheitsarchitektur * [http://archiv.tu-chemnitz.de/pub/2006/0034/data/html/node44.html Windows mit externem Kerberos] * weitere [http://del.icio.us/itebob/ACL Lesezeichen, die bei der Lösungssuche gesammelt wurden] * [http://dmoz.org/World/Deutsch/Wissen/Wissensmanagement/ Wissensmanagement] (u.a. Auflistung der Software zum Content- und Dokumentenmanagement) * [http://de.wikipedia.org/wiki/RBAC Role Based Access Control] (RBAC) * [http://www11.in.tum.de/publications/pdf/da-strunck2006.pdf Erweiterung einer Lösung zum Identity und Access Management um eine Berechtigungsverwaltung] eine Diplomarbeit vom 15.06.2006, TU München, Fakultät für Informatik * RBAC ist wichtig und LDAP ist nützlich. In einer konkreten Situation hat Schnedermann Software-Consulting GmbH festgestellt, dass die Mischung von beidem zu Verwicklungen führt. Wie man den Widerspruch auflöst, steht im [http://www.schnedermann.de/RBAC_LDAP.shtml IT-Security Whitepaper: RBAC und LDAP] * [http://www.telematik.uni-freiburg.de/foliendownload.php?id=381 Policies für dynamische Systeme] Sommersemester 2006, Prof. Dr. Günter Müller * [http://www.die.informatik.uni-siegen.de/DIE_BIB/Gestaltungspraktikum/gp_gesamt/home/modulMIP/ch03.html Stategien der Zugriffskontrolle] Die hier vorgestellten Lerneinheiten sind im Rahmen von Gestaltungspraktika in der Medieninformatik-Lehre der Universität Siegen entstanden. 11.08.2006. * [http://www.oo-services.com/en/articles/sso.aspx Single-Sign-On on Linux using LDAP with Active Directory] * [http://del.icio.us/breeen/sso Linkssammlung zum Thema 'Single-Sign-On(SSO)'] * [http://www.computerwoche.de/index.cfm?pid=381&pk=567617 Portale: Open Source im Anmarsch] * [http://www.computerwoche.de/knowledge_center/software/589211/ Portale: Open Source nur mit Augenmaß] * [http://www.oio.de/open-source-portale.htm Open Source Portale]

de/howto/personalized_search.1236283176.txt.gz · Zuletzt geändert: 2024/09/18 08:32 (Externe Bearbeitung)