From dev-return-423-apmail-karaf-dev-archive=karaf.apache.org@karaf.apache.org Sat Nov 06 07:32:18 2010 Return-Path: Delivered-To: apmail-karaf-dev-archive@minotaur.apache.org Received: (qmail 46854 invoked from network); 6 Nov 2010 07:32:18 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 6 Nov 2010 07:32:18 -0000 Received: (qmail 32684 invoked by uid 500); 6 Nov 2010 07:32:49 -0000 Delivered-To: apmail-karaf-dev-archive@karaf.apache.org Received: (qmail 32632 invoked by uid 500); 6 Nov 2010 07:32:48 -0000 Mailing-List: contact dev-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list dev@karaf.apache.org Received: (qmail 32624 invoked by uid 99); 6 Nov 2010 07:32:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Nov 2010 07:32:47 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of iocanel@gmail.com designates 209.85.214.176 as permitted sender) Received: from [209.85.214.176] (HELO mail-iw0-f176.google.com) (209.85.214.176) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Nov 2010 07:32:38 +0000 Received: by iwn7 with SMTP id 7so3876484iwn.21 for ; Sat, 06 Nov 2010 00:32:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=UeHOP8dqa/0JZ7zrEwHU7hNdI+2OHtC8r6BsMOdNaDM=; b=P5vwvkJ0ZTX2s7TMLRGmHJQnzXt0GLbsR19PeT6oXLS9KdwcmIqosfhDUsqNKgfXWj b2vYh4+XemSBOURZx9IdRfEYIQcJL+WxPQIzWtoobyHkSaWvsV9d8qEobo1jNT2vBRwD HekZp26ndLUR98CLIj3A4hTt9gZADfFUpilIA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=uSWnkJ5Tp8jkpX0kcPl6EbPqJ8OBcfgOPta6H9mkcXPuJazFwwRH3E4vcQe/HxToDx 8zcFRydWwzEbuOHlOqkD1scVXsGcP9Pkki4/lO1jbCLQ7ORnWSrbNtpGKJkcwA6qL6d9 B2q/+bU4n42YIduhbG81y+E+ciVlGxVWNFXG4= MIME-Version: 1.0 Received: by 10.231.12.136 with SMTP id x8mr2465835ibx.52.1289028736332; Sat, 06 Nov 2010 00:32:16 -0700 (PDT) Received: by 10.231.191.85 with HTTP; Sat, 6 Nov 2010 00:32:16 -0700 (PDT) In-Reply-To: References: Date: Sat, 6 Nov 2010 09:32:16 +0200 Message-ID: Subject: Re: svn commit: r1031695 - in /karaf/trunk/jaas: command/ command/src/main/java/org/apache/karaf/jaas/command/ command/src/main/resources/OSGI-INF/blueprint/ modules/src/main/java/org/apache/karaf/jaas/modules/ modules/src/main/java/org/apache/karaf/ From: Ioannis Canellos To: dev@karaf.apache.org Content-Type: multipart/alternative; boundary=00032557507aef349904945d6349 X-Virus-Checked: Checked by ClamAV on apache.org --00032557507aef349904945d6349 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable No, this was not intended. It's possibly a typo (pretty weird for a typo). On Fri, Nov 5, 2010 at 11:13 PM, Guillaume Nodet wrote: > On Fri, Nov 5, 2010 at 19:20, wrote: > > Author: iocanel > > Date: Fri Nov 5 18:20:56 2010 > > New Revision: 1031695 > > > > URL: http://svn.apache.org/viewvc?rev=3D1031695&view=3Drev > > Log: > > [KARAF-188] Added jaas:list and jaas:userlist commands. > > > > Added: > > > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/Lis= tPendingCommand.java > > - copied, changed from r1028753, > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= Command.java > > > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/Lis= tRealmsCommand.java > > > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/Lis= tUsersCommand.java > > Removed: > > > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/Lis= tCommand.java > > Modified: > > karaf/trunk/jaas/command/pom.xml > > > karaf/trunk/jaas/command/src/main/resources/OSGI-INF/blueprint/jass-comm= and.xml > > > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/Bac= kingEngine.java > > > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/enc= ryption/EncryptionSupport.java > > > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdb= c/JDBCBackingEngine.java > > > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/pro= perties/PropertiesBackingEngine.java > > > > Modified: karaf/trunk/jaas/command/pom.xml > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/command/pom.xml?rev=3D10316= 95&r1=3D1031694&r2=3D1031695&view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- karaf/trunk/jaas/command/pom.xml (original) > > +++ karaf/trunk/jaas/command/pom.xml Fri Nov 5 18:20:56 2010 > > @@ -45,6 +45,11 @@ > > > > > > org.apache.karaf.jaas > > + org.apache.karaf.jaas.boot > > + ${project.version} > > + > > + > > + org.apache.karaf.jaas > > org.apache.karaf.jaas.modules > > ${project.version} > > > > > > Copied: > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= PendingCommand.java > (from r1028753, > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= Command.java) > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/command/src/main/java/org/a= pache/karaf/jaas/command/ListPendingCommand.java?p2=3Dkaraf/trunk/jaas/comm= and/src/main/java/org/apache/karaf/jaas/command/ListPendingCommand.java&p1= =3Dkaraf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/Lis= tCommand.java&r1=3D1028753&r2=3D1031695&rev=3D1031695&view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= Command.java > (original) > > +++ > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= PendingCommand.java > Fri Nov 5 18:20:56 2010 > > @@ -17,8 +17,8 @@ import java.util.Queue; > > * > > * @author iocanel > > */ > > -@Command(scope =3D "jaas", name =3D "list", description =3D "Lists the > modification on the active realm/module.") > > -public class ListCommand extends JaasCommandSupport { > > +@Command(scope =3D "jaas", name =3D "pending", description =3D "Lists = the > modification on the active realm/module.") > > +public class ListPendingCommand extends JaasCommandSupport { > > > > @Override > > protected Object doExecute() throws Exception { > > @@ -35,7 +35,7 @@ public class ListCommand extends JaasCom > > System.out.println(command); > > } > > } else { > > - System.err.println("No JAAS command in queue."); > > + System.err.println("No JAAS command=BE in queue."); > > Was that done on purpose? > > > > } > > } else { > > System.err.println("No JAAS Realm / Module has been > selected."); > > > > Added: > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= RealmsCommand.java > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/command/src/main/java/org/a= pache/karaf/jaas/command/ListRealmsCommand.java?rev=3D1031695&view=3Dauto > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= RealmsCommand.java > (added) > > +++ > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= RealmsCommand.java > Fri Nov 5 18:20:56 2010 > > @@ -0,0 +1,47 @@ > > +package org.apache.karaf.jaas.command; > > + > > +import org.apache.felix.gogo.commands.Command; > > +import org.apache.karaf.jaas.boot.ProxyLoginModule; > > +import org.apache.karaf.jaas.config.JaasRealm; > > +import org.apache.karaf.jaas.modules.BackingEngine; > > + > > +import javax.security.auth.login.AppConfigurationEntry; > > +import java.util.List; > > + > > +/** > > + * @author iocanel > > + */ > > +@Command(scope =3D "jaas", name =3D "list", description =3D "Lists the > modification on the active realm/module.") > > +public class ListRealmsCommand extends JaasCommandSupport { > > + > > + private static final String REALM_LIST_FORMAT =3D "%-20s %-80s"; > > + > > + @Override > > + protected Object doExecute(BackingEngine engine) throws Exception = { > > + return null; > > + } > > + > > + protected Object doExecute() throws Exception { > > + List realms =3D getRealms(); > > + if (realms !=3D null && realms.size() > 0) { > > + System.out.println(String.format(REALM_LIST_FORMAT, "Realm= ", > "Module Class")); > > + for (JaasRealm realm : realms) { > > + String realmName =3D realm.getName(); > > + AppConfigurationEntry[] entries =3D realm.getEntries()= ; > > + > > + if (entries !=3D null && entries.length > 0) { > > + for (int i =3D 0; i < entries.length; i++) { > > + String moduleClass =3D (String) > entries[i].getOptions().get(ProxyLoginModule.PROPERTY_MODULE); > > + > System.out.println(String.format(REALM_LIST_FORMAT, realmName, > moduleClass)); > > + } > > + } else { > > + System.out.println(String.format(REALM_LIST_FORMAT= , > realmName, "No module found for realm.")); > > + } > > + } > > + } else { > > + System.err.println("No realm found"); > > + } > > + return null; > > + } > > + > > +} > > > > Added: > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= UsersCommand.java > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/command/src/main/java/org/a= pache/karaf/jaas/command/ListUsersCommand.java?rev=3D1031695&view=3Dauto > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= UsersCommand.java > (added) > > +++ > karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/List= UsersCommand.java > Fri Nov 5 18:20:56 2010 > > @@ -0,0 +1,61 @@ > > +package org.apache.karaf.jaas.command; > > + > > +import org.apache.felix.gogo.commands.Command; > > +import org.apache.karaf.jaas.config.JaasRealm; > > +import org.apache.karaf.jaas.modules.BackingEngine; > > +import org.apache.karaf.jaas.modules.RolePrincipal; > > +import org.apache.karaf.jaas.modules.UserPrincipal; > > + > > +import javax.security.auth.login.AppConfigurationEntry; > > +import java.util.List; > > + > > +/** > > + * @author iocanel > > + */ > > +@Command(scope =3D "jaas", name =3D "userlist", description =3D "Lists= the > users of the active realm/module.") > > +public class ListUsersCommand extends JaasCommandSupport { > > + > > + private static final String OUTPUT_FORMAT =3D "%-20s %-20s"; > > + > > + @Override > > + protected Object doExecute() throws Exception { > > + JaasRealm realm =3D (JaasRealm) session.get(JAAS_REALM); > > + AppConfigurationEntry entry =3D (AppConfigurationEntry) > session.get(JAAS_ENTRY); > > + > > + if (realm =3D=3D null || entry =3D=3D null) { > > + System.err.println("No JAAS Realm / Module has been > selected."); > > + return null; > > + } > > + > > + BackingEngine engine =3D backingEngineService.get(entry); > > + > > + if (engine =3D=3D null) { > > + System.err.println(String.format("Failed to resolve backin= g > engine for realm:%s and moudle:%s", realm.getName(), > entry.getLoginModuleName())); > > + return null; > > + } > > + > > + return doExecute(engine); > > + } > > + > > + @Override > > + protected Object doExecute(BackingEngine engine) throws Exception = { > > + List users =3D engine.listUsers(); > > + System.out.println(String.format(OUTPUT_FORMAT, "User Name", > "Role")); > > + > > + for (UserPrincipal user : users) { > > + String userName =3D user.getName(); > > + List roles =3D engine.listRoles(user); > > + > > + if (roles !=3D null && roles.size() >=3D 1) { > > + for (RolePrincipal role : roles) { > > + String roleName =3D role.getName(); > > + System.out.println(String.format(OUTPUT_FORMAT, > userName, roleName)); > > + } > > + } else { > > + System.out.println(String.format(OUTPUT_FORMAT, > userName, "")); > > + } > > + > > + } > > + return null; > > + } > > +} > > > > Modified: > karaf/trunk/jaas/command/src/main/resources/OSGI-INF/blueprint/jass-comma= nd.xml > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/command/src/main/resources/= OSGI-INF/blueprint/jass-command.xml?rev=3D1031695&r1=3D1031694&r2=3D1031695= &view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/command/src/main/resources/OSGI-INF/blueprint/jass-comma= nd.xml > (original) > > +++ > karaf/trunk/jaas/command/src/main/resources/OSGI-INF/blueprint/jass-comma= nd.xml > Fri Nov 5 18:20:56 2010 > > @@ -33,8 +33,18 @@ > > > > > > > > + > > + class=3D"org.apache.karaf.jaas.command.ListPendingCommand"/> > > + > > + > > + class=3D"org.apache.karaf.jaas.command.ListUsersCommand"> > > + ref=3D"engineService"/> > > + > > + > > > > - > > + class=3D"org.apache.karaf.jaas.command.ListRealmsCommand"> > > + > > + > > > > > > class=3D"org.apache.karaf.jaas.command.UserAddCommand"/> > > > > Modified: > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/Back= ingEngine.java > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/a= pache/karaf/jaas/modules/BackingEngine.java?rev=3D1031695&r1=3D1031694&r2= =3D1031695&view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/Back= ingEngine.java > (original) > > +++ > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/Back= ingEngine.java > Fri Nov 5 18:20:56 2010 > > @@ -14,6 +14,8 @@ > > */ > > package org.apache.karaf.jaas.modules; > > > > +import java.util.List; > > + > > /** > > * @author iocanel > > */ > > @@ -36,6 +38,19 @@ public interface BackingEngine { > > void deleteUser(String username); > > > > /** > > + * List Users > > + */ > > + List listUsers(); > > + > > + /** > > + * List Roles for {@param user}. > > + * > > + * @param user > > + * @return > > + */ > > + List listRoles(UserPrincipal user); > > + > > + /** > > * Add a role to the user > > * > > * @param username > > > > Modified: > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/encr= yption/EncryptionSupport.java > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/a= pache/karaf/jaas/modules/encryption/EncryptionSupport.java?rev=3D1031695&r1= =3D1031694&r2=3D1031695&view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/encr= yption/EncryptionSupport.java > (original) > > +++ > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/encr= yption/EncryptionSupport.java > Fri Nov 5 18:20:56 2010 > > @@ -84,7 +84,7 @@ public class EncryptionSupport { > > } catch (InvalidSyntaxException e) { > > throw new IllegalStateException("The encryption > service filter is not well formed.", e); > > } > > - if (encryptionServiceReferences.length =3D=3D 0) { > > + if (encryptionServiceReferences =3D=3D null || > encryptionServiceReferences.length =3D=3D 0) { > > if (name !=3D null && name.length() > 0) { > > throw new IllegalStateException("Encryption > service " + name + " not found. Please check that the encryption service = is > correctly set up."); > > } else { > > > > Modified: > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc= /JDBCBackingEngine.java > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/a= pache/karaf/jaas/modules/jdbc/JDBCBackingEngine.java?rev=3D1031695&r1=3D103= 1694&r2=3D1031695&view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc= /JDBCBackingEngine.java > (original) > > +++ > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc= /JDBCBackingEngine.java > Fri Nov 5 18:20:56 2010 > > @@ -19,12 +19,17 @@ package org.apache.karaf.jaas.modules.jd > > import org.apache.commons.logging.Log; > > import org.apache.commons.logging.LogFactory; > > import org.apache.karaf.jaas.modules.BackingEngine; > > +import org.apache.karaf.jaas.modules.RolePrincipal; > > +import org.apache.karaf.jaas.modules.UserPrincipal; > > import org.apache.karaf.jaas.modules.encryption.EncryptionSupport; > > > > import javax.sql.DataSource; > > import java.sql.Connection; > > import java.sql.PreparedStatement; > > +import java.sql.ResultSet; > > import java.sql.SQLException; > > +import java.util.ArrayList; > > +import java.util.List; > > > > /** > > * @author iocanel > > @@ -43,6 +48,8 @@ public class JDBCBackingEngine implement > > private String deleteRoleStatement =3D "DELETE FROM ROLES WHERE > USERNAME=3D? AND ROLE=3D?"; > > private String deleteAllUserRolesStatement =3D "DELETE FROM ROLES W= HERE > USERNAME=3D?"; > > private String deleteUserStatement =3D "DELETE FROM USERS WHERE > USERNAME=3D?"; > > + private String selectUsersStatement =3D "SELECT USERNAME FROM USER= S"; > > + private String selectRolesStatement =3D "SELECT ROLE FROM ROLES WH= ERE > USERNAME=3D?"; > > > > > > /** > > @@ -161,6 +168,103 @@ public class JDBCBackingEngine implement > > } > > > > /** > > + * List all Users > > + * > > + * @return > > + */ > > + public List listUsers() { > > + List users =3D new ArrayList(); > > + > > + Connection connection =3D null; > > + PreparedStatement listUserStatement =3D null; > > + ResultSet usersResultSet =3D null; > > + > > + > > + if (dataSource !=3D null) { > > + > > + try { > > + connection =3D dataSource.getConnection(); > > + > > + //Remove from users > > + listUserStatement =3D > connection.prepareStatement(selectUsersStatement); > > + usersResultSet =3D listUserStatement.executeQuery(); > > + while (!usersResultSet.next()) { > > + String username =3D usersResultSet.getString(0); > > + users.add(new UserPrincipal(username)); > > + } > > + } catch (SQLException e) { > > + LOG.error("Error executiong statement", e); > > + } finally { > > + try { > > + if (usersResultSet !=3D null) { > > + usersResultSet.close(); > > + } > > + if (listUserStatement !=3D null) { > > + listUserStatement.close(); > > + } > > + if (connection !=3D null) { > > + connection.close(); > > + } > > + } catch (SQLException e) { > > + LOG.warn(MSG_CONNECTION_CLOSE_FAILED, e); > > + } > > + } > > + } > > + return users; > > + } > > + > > + /** > > + * List the roles of the {@param user}. > > + * > > + * @param user > > + * @return > > + */ > > + public List listRoles(UserPrincipal user) { > > + List roles =3D new ArrayList(); > > + > > + Connection connection =3D null; > > + PreparedStatement listRolesStatement =3D null; > > + ResultSet rolesResultSet =3D null; > > + > > + > > + if (dataSource !=3D null) { > > + > > + try { > > + connection =3D dataSource.getConnection(); > > + > > + //Remove from roles > > + listRolesStatement =3D > connection.prepareStatement(selectRolesStatement); > > + listRolesStatement.setString(1, user.getName()); > > + > > + rolesResultSet =3D listRolesStatement.executeQuery(); > > + > > + while (!rolesResultSet.next()) { > > + String role =3D rolesResultSet.getString(1); > > + roles.add(new RolePrincipal(role)); > > + } > > + > > + } catch (SQLException e) { > > + LOG.error("Error executiong statement", e); > > + } finally { > > + try { > > + if (rolesResultSet !=3D null) { > > + rolesResultSet.close(); > > + } > > + if (listRolesStatement !=3D null) { > > + listRolesStatement.close(); > > + } > > + if (connection !=3D null) { > > + connection.close(); > > + } > > + } catch (SQLException e) { > > + LOG.warn(MSG_CONNECTION_CLOSE_FAILED, e); > > + } > > + } > > + } > > + return roles; > > + } > > + > > + /** > > * Add a role to a user. > > * > > * @param username > > > > Modified: > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/prop= erties/PropertiesBackingEngine.java > > URL: > http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/a= pache/karaf/jaas/modules/properties/PropertiesBackingEngine.java?rev=3D1031= 695&r1=3D1031694&r2=3D1031695&view=3Ddiff > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > > --- > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/prop= erties/PropertiesBackingEngine.java > (original) > > +++ > karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/prop= erties/PropertiesBackingEngine.java > Fri Nov 5 18:20:56 2010 > > @@ -19,9 +19,14 @@ package org.apache.karaf.jaas.modules.pr > > import org.apache.commons.logging.Log; > > import org.apache.commons.logging.LogFactory; > > import org.apache.karaf.jaas.modules.BackingEngine; > > +import org.apache.karaf.jaas.modules.RolePrincipal; > > +import org.apache.karaf.jaas.modules.UserPrincipal; > > import org.apache.karaf.jaas.modules.encryption.EncryptionSupport; > > import org.apache.karaf.util.Properties; > > > > +import java.util.ArrayList; > > +import java.util.List; > > + > > > > /** > > * @author iocanel > > @@ -99,6 +104,37 @@ public class PropertiesBackingEngine imp > > } > > > > /** > > + * List Users > > + * > > + * @return > > + */ > > + public List listUsers() { > > + List result =3D new ArrayList(); > > + > > + for (String userNames : users.keySet()) { > > + UserPrincipal userPrincipal =3D new UserPrincipal(userName= s); > > + result.add(userPrincipal); > > + } > > + return result; > > + } > > + > > + /** > > + * List the Roles of the {@param user} > > + * > > + * @param user > > + * @return > > + */ > > + public List listRoles(UserPrincipal user) { > > + List result =3D new ArrayList(); > > + String userInfo =3D users.get(user.getName()); > > + String[] infos =3D userInfo.split(","); > > + for (int i =3D 1; i < infos.length; i++) { > > + result.add(new RolePrincipal(infos[i])); > > + } > > + return result; > > + } > > + > > + /** > > * Add a role to a User. > > * > > * @param username > > > > > > > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com > --=20 *Ioannis Canellos* http://iocanel.blogspot.com Integration Engineer @ Upstream S.A. --00032557507aef349904945d6349--