{"id":307,"date":"2008-03-24T23:25:54","date_gmt":"2008-03-24T22:25:54","guid":{"rendered":"https:\/\/bob-team.de\/wordpress\/2008\/03\/24\/tomcat-und-active-directory\/"},"modified":"2008-03-29T22:25:34","modified_gmt":"2008-03-29T21:25:34","slug":"tomcat-und-active-directory","status":"publish","type":"post","link":"https:\/\/bob-team.de\/wordpress\/2008\/03\/24\/tomcat-und-active-directory\/","title":{"rendered":"Tomcat und Active Directory"},"content":{"rendered":"<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/03\/ad_directory.png' alt='Screenshot AD' \/><\/p>\n<p>Die Aufgabe: eine Web-Anwendung soll mit den Daten aus einem <em>Active Directory<\/em> gesch\u00fctzt werden. <\/p>\n<p>Die L\u00f6sung: im <em>Actice Directory<\/em> wird eine <em>Organisational Unit<\/em> (OU) angelegt. In dieser werden dann Gruppen definiert, welche den sp\u00e4teren &#8222;Rollen&#8220; entsprechen. Den Gruppen ordnet man die Benutzer zu, welche sich im Kontext &#8222;der Rolle&#8220; anmelden k\u00f6nnen.<\/p>\n<p><!--more--><\/p>\n<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/03\/nb_projekt.png' alt='Screenshot NetBeans' align=\"left\" vspace=\"5\" hspace=\"10\" \/>In <em>NetBeans<\/em> \u00fcber das Fenster <em>Projects<\/em> den Knoten <em>Configuration File<\/em> vom Projekt \u00f6ffnen und die Datei <em>context.xml<\/em> laden. Diese Datei konfiguriert die Anwendung innerhalb des <em>Tomcat<\/em> und wird sp\u00e4ter mit verteilt. In ihr wird ein <a href=\"http:\/\/tomcat.apache.org\/tomcat-5.5-doc\/realm-howto.html#What%20is%20a%20Realm?\">neuer Realm<\/a> angelegt, der die Verbindung zum <em>Active Directory<\/em> definiert.<\/p>\n<p>[code lang=&#8220;xml&#8220;]<?xml version=\"1.0\" encoding=\"UTF-8\"?><br \/>\n<Context path=\"\/PokolmMiniweb\"><br \/>\n    <Realm className=\"org.apache.catalina.realm.JNDIRealm\"\n        resourceName=\"ActiveDirectory\"\n        debug=\"99\"\n                \n        connectionURL=\"ldap:\/\/ad.pokolm.de:389\"\n        connectionName=\"admin@pokolm.de\"\n        connectionPassword=\"geheim\"\n\t\t\n        referrals=\"follow\"\n\t\t\n        userBase=\"OU=EDV,OU=Alle Abteilungen,DC=pokolm,DC=de\"\n        userSearch=\"(sAMAccountName={0})\"\n        userSubtree=\"true\"\n\n        roleBase=\"OU=Appserver,OU=EDV,OU=Alle Abteilungen,DC=pokolm,DC=de\"\n        roleName=\"cn\"\n        roleSubtree=\"true\"\n        roleSearch=\"(member={0})\"\n    \/><br \/>\n<\/Context>[\/code]<\/p>\n<p>Der Realm definiert eine Verbindung zum Server <em>ad.pokolm.de<\/em> und meldet sich mit <em>connectionName<\/em> und <em>connectionPassword<\/em> am <em>Active Directory<\/em> an. <\/p>\n<p>Die Benutzer (und damit das Kennwort) finden sich unterhalb von <em>userBase<\/em>. Als Benutzername bei der Web-Anwendung kommt <em>sAMAccountName<\/em> zum Einsatz.<\/p>\n<p>Die Rollen\/Gruppen werden unterhalb von <em>roleBase<\/em> definiert. Dem Benutzer wurde die Rolle zugewiesen, wenn er ein Attribut <em>member<\/em> innerhalb der Gruppe ist.<\/p>\n<p>Wer mit diesen Werten nicht anfangen kann, installiert sich <a href=\"http:\/\/www-unix.mcs.anl.gov\/~gawor\/ldap\/\">den LDAPBrowser<\/a> und verbindet sich mit dem <em>Active Directory<\/em>.<\/p>\n<p>In unserem Beispiel wurde eine Rolle &#8222;miniweb&#8220; mit 2 Benutzern angelegt.<\/p>\n<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/03\/ad_ldapbrowser.png' alt='Screenshot LDAPBrowser' \/><\/p>\n<p>Fehlt nur noch die <em>Security Constraint<\/em>, die den Realm &#8222;ActiveDirectory&#8220; nutzt. Diese wird in der <em>web.xml<\/em> definiert (Fenster <em>Projects<\/em>, <em>Configuration File<\/em>).<\/p>\n<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/03\/nb_security.png' alt='Screenshot NetBeans' \/><\/p>\n<p>Im Bereich <em>Security<\/em> die <em>Login Configuration<\/em> umstellen (Basic und Realm Name: ActiveDirectory). Unter <em>Security Roles<\/em> den <em>Role name<\/em> &#8222;miniweb&#8220; hinzuf\u00fcgen. Mit &#8222;Add Security Constraint&#8220; eine neue Definition erzeugen und konfigurieren. Als <em>Role Name(s)<\/em> &#8222;miniweb&#8220; verwenden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Aufgabe: eine Web-Anwendung soll mit den Daten aus einem Active Directory gesch\u00fctzt werden. Die L\u00f6sung: im Actice Directory wird eine Organisational Unit (OU) angelegt. In dieser werden dann Gruppen definiert, welche den sp\u00e4teren &#8222;Rollen&#8220; entsprechen. Den Gruppen ordnet man die Benutzer zu, welche sich im Kontext &#8222;der Rolle&#8220; anmelden k\u00f6nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[41,42,18,21],"class_list":["post-307","post","type-post","status-publish","format-standard","hentry","category-software","tag-active-directory","tag-ldapbrowser","tag-netbeans","tag-tomcat","entry"],"_links":{"self":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/comments?post=307"}],"version-history":[{"count":0,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/307\/revisions"}],"wp:attachment":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/media?parent=307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/categories?post=307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/tags?post=307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}