Skip to Content.
Sympa Menu

idok-commit - [idok-commit] idok commit r167 - in trunk: java/ch/idok/qtgui sites/psi/java/ch/psi/idok/common/config

idok-commit AT lists.psi.ch

Subject: Commit emails of the iDok project

List archive

[idok-commit] idok commit r167 - in trunk: java/ch/idok/qtgui sites/psi/java/ch/psi/idok/common/config


Chronological Thread 
  • From: "Apache" <apache AT savannah.psi.ch>
  • To: idok-commit AT lists.psi.ch
  • Subject: [idok-commit] idok commit r167 - in trunk: java/ch/idok/qtgui sites/psi/java/ch/psi/idok/common/config
  • Date: Mon, 11 Aug 2008 11:56:54 +0200
  • List-archive: <https://lists.web.psi.ch/pipermail/idok-commit/>
  • List-id: Commit emails of the iDok project <idok-commit.lists.psi.ch>

Author: huebner AT PSI.CH
Date: Mon Aug 11 11:56:54 2008
New Revision: 167

Log:
The LDAP access will be configured via the "ldap.conf" file now.

Added:
trunk/sites/psi/java/ch/psi/idok/common/config/ldap.conf
Modified:
trunk/java/ch/idok/qtgui/Ldap.java
trunk/sites/psi/java/ch/psi/idok/common/config/Setup.java

Modified: trunk/java/ch/idok/qtgui/Ldap.java
==============================================================================
--- trunk/java/ch/idok/qtgui/Ldap.java (original)
+++ trunk/java/ch/idok/qtgui/Ldap.java Mon Aug 11 11:56:54 2008
@@ -2,10 +2,12 @@



+import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Properties;
+import java.util.logging.Logger;

import javax.naming.Context;
import javax.naming.NameClassPair;
@@ -29,6 +31,7 @@
import sun.security.krb5.KrbCred;

import ch.idok.common.client.LocalClientHandler;
+import ch.idok.common.config.Setup;
import ch.idok.common.errorhandling.DmsException;
import ch.idok.common.util.DmsCredentials;
import ch.idok.common.util.Krb5DmsCredentials;
@@ -39,27 +42,24 @@
public static String ADS_GROUP_TYPE_DISTRIBUTIONLIST_GROUP =
"-2147483640";
private static Krb5DmsCredentials krb5cred;
private static boolean firstAccessError = true;
+ private static Properties configFile;

public Ldap(Krb5DmsCredentials k){
krb5cred = k;
- }
-
- private static String getkey(){
- String pass = new String();
- FileReader keyfile = null;
- try {
- keyfile = new FileReader("/scratch/dmsadmin.key" );
- for ( int c; ( c = keyfile.read() ) != -1; )
- pass += (char)c;
- }
- catch (IOException e) {
- System.err.println( "Error reading file!" );
- }
- finally {
- try {keyfile.close();} catch (Exception e) {}
+
+ try {
+ configFile = new Properties();
+ String configFileLocation =
System.getProperty("idok.ldap.config");
+ FileInputStream fileStream = new
FileInputStream(configFileLocation);
+ configFile.load(fileStream);
+ fileStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
}
- return pass;
+
+
}
+

private static NamingEnumeration<SearchResult> search(String
searchBase,String searchFilter,String[] returningattribute){

@@ -67,12 +67,13 @@
DmsCredentials cred = handler.getCredentials();
Subject subject = cred.getSubject();

- String ldapHost = "d.psi.ch";
- String rootContext = "";
+ String ldapHost = configFile.getProperty("LDAP_HOST");
+ String rootContext = configFile.getProperty("LDAP_ROOT_CONTEXT");
+ String connectionType =
configFile.getProperty("LDAP_CONNECTION_TYPE");

Properties env = new Properties();
env.put(
Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
- env.put( Context.PROVIDER_URL, "ldaps://" + ldapHost + "/" +
rootContext );
+ env.put( Context.PROVIDER_URL, connectionType +"://" + ldapHost +
"/" + rootContext );

NamingEnumeration<SearchResult> list = null;
// if (subject != null) {
@@ -93,7 +94,7 @@
// String loginDN = "dmsadmin";
// String password = getkey();

- env.put( Context.SECURITY_PRINCIPAL, loginDN + "@D.PSI.CH");
+ env.put( Context.SECURITY_PRINCIPAL, loginDN +
configFile.getProperty("LDAP_USER_NAME_SUFFIX"));
env.put( Context.SECURITY_CREDENTIALS, password );

return getList(env, searchBase, searchFilter, returningattribute);
@@ -138,7 +139,7 @@
public static ArrayList<String> getGroupMembers(String group){
String[] returningattribute = {"*"};
ArrayList<String> nameList = new ArrayList<String>();
- NamingEnumeration<SearchResult> results =
search("OU=Groups,OU=PSI,DC=d,DC=psi,DC=ch", "CN="+group,returningattribute);
+ NamingEnumeration<SearchResult> results =
search(configFile.getProperty("LDAP_GROUP"), "CN="+group,returningattribute);
try {
while (results.hasMoreElements()) {
SearchResult sr = (SearchResult) results.next();
@@ -213,7 +214,7 @@
public static ArrayList<String> getGroups(){
String[] returningattribute = {"CN=*"};
ArrayList<String> groupList = new ArrayList<String>();
- NamingEnumeration<SearchResult> results =
search("OU=Groups,OU=PSI,DC=d,DC=psi,DC=ch","CN=*",returningattribute);
+ NamingEnumeration<SearchResult> results =
search(configFile.getProperty("LDAP_GROUP"),"CN=*",returningattribute);

try {
while (results.hasMore()){
@@ -233,7 +234,7 @@
public static ArrayList<String> getMembers(String nameStartsWith){
String[] returningattribute = {};
ArrayList<String> memberList = new ArrayList<String>();
- NamingEnumeration<SearchResult> results =
search("OU=Users,OU=PSI,DC=d,DC=psi,DC=ch",
"CN="+nameStartsWith+"*",returningattribute);
+ NamingEnumeration<SearchResult> results =
search(configFile.getProperty("LDAP_USER"),
"CN="+nameStartsWith+"*",returningattribute);

// Go through each item in list
try {

Modified: trunk/sites/psi/java/ch/psi/idok/common/config/Setup.java
==============================================================================
--- trunk/sites/psi/java/ch/psi/idok/common/config/Setup.java (original)
+++ trunk/sites/psi/java/ch/psi/idok/common/config/Setup.java Mon Aug 11
11:56:54 2008
@@ -50,5 +50,20 @@
System.setProperty("java.security.auth.login.config", jaasConfFile
.getAbsolutePath());
}
+
+ /**
+ * PSI specific LDAP setup
+ *
+ * @throws Exception
+ */
+ protected void setupLDAP() throws Exception {
+ Class<Setup> c = Setup.class;
+ File ldapConfFile;
+ ldapConfFile = copyToTemp(c.getResourceAsStream("ldap.conf"));
+ ldapConfFile.deleteOnExit();
+ rootLogger_.finest(ldapConfFile.getAbsolutePath());
+ System.setProperty("idok.ldap.config", ldapConfFile
+ .getAbsolutePath());
+ }

}

Added: trunk/sites/psi/java/ch/psi/idok/common/config/ldap.conf
==============================================================================
--- (empty file)
+++ trunk/sites/psi/java/ch/psi/idok/common/config/ldap.conf Mon Aug 11
11:56:54 2008
@@ -0,0 +1,14 @@
+# LDAP configuration file
+
+#LDAP host
+LDAP_HOST=d.psi.ch
+LDAP_ROOT_CONTEXT=
+LDAP_CONNECTION_TYPE=ldaps
+
+#LDAP user
+LDAP_USER_NAME_SUFFIX= AT D.PSI.CH
+
+#LDAP Query
+LDAP_GROUP=OU=Groups,OU=PSI,DC=d,DC=psi,DC=ch
+LDPA_USER=OU=Users,OU=PSI,DC=d,DC=psi,DC=ch
+



  • [idok-commit] idok commit r167 - in trunk: java/ch/idok/qtgui sites/psi/java/ch/psi/idok/common/config, Apache, 08/11/2008

Archive powered by MHonArc 2.6.19.

Top of Page