Using Search Filters Searching the Repository

25-24 Oracle Fusion Middleware Application Security Guide UserManager usrmanager = oidStore.getUserManager; create user String usrname = testuser; delete user if already exists try { User usr = oidStore.searchUserusrname; usrmanager.dropUserusr; }catchIMException ime{} System.out.printlncreating user +usrname; User usr = usrmanager.createUserusrname,passwd1.toCharArray; System.out.printlnuser +usr.getUniqueName + created; modifying user properties System.out.printlnmodifying property UserProfile.DISPLAY_NAME; UserProfile usrprofile = usr.getUserProfile; ModProperty mprop = new ModProperty UserProfile.DISPLAY_NAME, modified display name, ModProperty.REPLACE; usrprofile.setPropertymprop; System.out.printlnget property values UserProfile.DISPLAY_NAME; Property prop = usrprofile.getPropertyUserProfile.DISPLAY_NAME; List values = prop.getValues; Iterator itr = values.iterator; whileitr.hasNext { System.out.printlnUserProfile.DISPLAY_NAME+: + itr.next; } System.out.println; drop user System.out.printlnNow dropping user +usrname; usrmanager.dropUserusr; System.out.printlnuser dropped; }catch IMException e { e.printStackTrace; } } }

25.7.3 Example 3: User Management in a Microsoft Active Directory Store

In this example several user management tasks such as creating, modifying, and dropping an identity are performed in a Microsoft Active Directory store: ■ creating a user ■ modifying the user’s display name ■ dropping the user Developing with the User and Role API 25-25 package oracle.security.idm.samples; import oracle.security.idm.; import oracle.security.idm.providers.ad.; import java.util.; import java.io.; public class CreateModifyDeleteUserAD { public static void mainString args[] { IdentityStoreFactoryBuilder builder = new IdentityStoreFactoryBuilder; IdentityStoreFactory adFactory = null; IdentityStore adStore = null; try { Hashtable factEnv = new Hashtable; Hashtable storeEnv = new Hashtable; String keystore = homebhusinghclient_keystore.jks; System.setPropertyjavax.net.ssl.trustStore,keystore; System.setPropertyjavax.net.ssl.trustStorePassword,welcome1; creating the factory instance factEnv.putADIdentityStoreFactory.ST_SECURITY_PRINCIPAL, sramasetupad.us.oracle.com; factEnv.putADIdentityStoreFactory.ST_SECURITY_CREDENTIALS, ntrtntrt; factEnv.putADIdentityStoreFactory.ST_LDAP_URL, ldaps:mynode.us.mycorp.com:123; factEnv.putjava.naming.security.protocol,SSL; adFactory = builder.getIdentityStoreFactory oracle.security.idm.providers.ad.ADIdentityStoreFactory, factEnv; creating the store instance storeEnv.putADIdentityStoreFactory.ST_SUBSCRIBER_NAME, dc=upad,dc=us,dc=oracle,dc=com; adStore = adFactory.getIdentityStoreInstancestoreEnv; get UserManager UserManager usrmanager = adStore.getUserManager; create user String usrname = amyd; delete user if already exists try { User usr = adStore.searchUserusrname; usrmanager.dropUserusr; }catchIMException ime{} System.out.printlncreating user +usrname; char[] password = {w, e, l, c, o, m,e,3}; User usr = usrmanager.createUserusrname, password; System.out.printlnuser +usr.getUniqueName + created with 25-26 Oracle Fusion Middleware Application Security Guide guid=+usr.getGUID; System.out.printlnuser name = +usr.getName ; modifying user properties System.out.printlnDISPLAY_NAME=+usr.getDisplayName; System.out.printlnmodifying property UserProfile.DISPLAY_NAME; UserProfile usrprofile = usr.getUserProfile; ModProperty mprop = new ModPropertyUserProfile.DISPLAY_NAME, modified display name, ModProperty.REPLACE; usrprofile.setPropertymprop; System.out.printlnget property values UserProfile.DISPLAY_NAME; Property prop = usrprofile.getPropertyUserProfile.DISPLAY_NAME; List values = prop.getValues; Iterator itr = values.iterator; whileitr.hasNext { System.out.printlnUserProfile.DISPLAY_NAME+: + itr.next; } System.out.println; System.out.printlnnow verifying the password; boolean pass = false; try { usrmanager.authenticateUserusrname, password; pass= true; }catch oracle.security.idm.AuthenticationException e { System.out.printlne; e.printStackTrace; } if pass System.out.printlnpassword verification SUCCESS ; else System.out.printlnpassword verification FAILED ; SimpleSearchFilter sf = adStore.getSimpleSearchFilter UserProfile.NAME, SimpleSearchFilter.TYPE_EQUAL, usrname; SearchParameters params = new SearchParameters; params.setFiltersf; Searching for users SearchResponse resp = adStore.searchUsersparams; System.out.printlnSearched users are:; while resp.hasNext { Identity idy = resp.next; System.out.printlnname: +idy.getName+\tUnique name: +idy.getUniqueName; } drop user System.out.printlnNow dropping user +usrname; usrmanager.dropUserusr; System.out.printlnuser dropped;