banner



How To Create User In Weblogic Admin Console

WLST Scripts

How to Create Users in WebLogic

A script that creates multiple users at once and individually add them to a specific group.

  • Derek Carlos

3 min read

How to Create Users in WebLogic

One of the most repetitive requests that I get over the years is people asking me to provide login credentials for individuals who want access to an application instance deployed on Oracle WebLogic.

Unfortunately there are still instances where the domain is not integrated with an LDAP store like Active Directory, so I have to go to the Admin Console, click Security Realm, then the myrealm, then Users and Groups tab, etc., to add those users.

And in my case, I have to add that user to a specific group just so they can log in to the application. Which means, after creating the user, I have to click it, go to Groups tab and select that specific group.

It's fine for one user. Or maybe two. But if you're asked to create 30-100 users like for a training environment, that's when the sense of injustice creeps in. You can't possibly be sitting at your desk the entire day creating USER01 to USER99.

Imagine the horror if at USER55 you noticed you have only created 54 users so far. Oh f*dge, which number did I skip?!

Or maybe, you forget to add a specific user to that group I was talking about earlier. Are you willing to go back to the first 55 users you created to individually check if they were already added?

This is the type of repetitive task that needs to be scripted. It removes possibility of human error and makes sure that every user was created equal (as all things should be).

This is the script that I made for that specific purpose: creating one or more users.

          # #   Author : Frederick Carlos # #   Script : createUser.py #   Purpose: Create a WebLogic user on DefaultAuthenticator and add to cisusers group #   Usage  : createUser.py [domain.properties] # if __name__ == '__main__':     from wlstModule import *#@UnusedWildImport     import os      def createUser(username, password, description, groupname):     securityConfigurationMBean = getMBean('/SecurityConfiguration/' + DOMAIN_NAME)     securityRealmMBean = securityConfigurationMBean.getDefaultRealm()     defaultAuthenticatorProvider = securityRealmMBean.lookupAuthenticationProvider('DefaultAuthenticator')          if defaultAuthenticatorProvider.userExists(username):         print '>> Existing user: ' + username     else:         defaultAuthenticatorProvider.createUser(username, password, description)         defaultAuthenticatorProvider.addMemberToGroup(groupname, username)         print '>> Added user ' + username + ' to ' + groupname       # Read the domain properties file try:     if len(sys.argv) == 2:         domainProperties = sys.argv[1]     else:         domainProperties=os.path.realpath(os.path.dirname(sys.argv[0])) + '/domain.properties'     loadProperties(domainProperties)     print ">>> Loaded the properties file: " + domainProperties     print      except:     exit(exitcode=1)      try:     redirect('/dev/null','false')          # Connect to Admin Server     connect(userConfigFile=CONFIG_FILE, userKeyFile=KEY_FILE,url=ADMIN_URL)     print ">>> Connected to the AdminServer."          users = array(eval(APP_USERS), java.lang.String)          for user in users:         createUser(user, 'static-password', 'Application User', 'cisusers')      except Exception, e:     print "ERROR... check error messages for cause."     print e     exit(exitcode=1)      redirect('/dev/null','false')  disconnect() exit(exitcode=0)        

So this script requires a properties file which it will use to log in to a domain and create a user. And since it's possible to create multiple users at any given point, I defined a function aptly named createUser which I can call multiple times.

This is a sample copy of the properties file that I called domain.properties. You can name it whatever you want, as long as you pass the file name as a parameter to the script. If you don't pass any file, the script will assume that a file named domain.properties exists and use that instead. If that file doesn't exists, well, I can't really connect to WebLogic without that now, can I?

          # Admin Server Parameters CONFIG_FILE=/home/oracle/start_scripts/DEV_domain.userconfig KEY_FILE=/home/oracle/start_scripts/DEV_domain.userkey ADMIN_URL=t3://localhost:8001 DOMAIN_NAME=DEV # Users in an array APP_USERS=['USER01','USER02']        

To run the script, just call the wlst.sh from your Middleware Home like this:

          # This is for WebLogic 12c. Actual file paths may differ on lower versions. $MW_HOME/oracle_common/common/bin/wlst.sh createUser.py domain.properties        

And that's it! The added bonus is that if you want to add more users, you can just add to the existing APP_USERS array. The script will know if the user already exists and skip it to avoid runtime error.

You can of course modify the script if you want a different password for different users. I didn't have that requirement, so I just created the same password for all.

How To Create User In Weblogic Admin Console

Source: https://nodemanger.com/create-users-in-weblogic/

Posted by: bateswilty1948.blogspot.com

0 Response to "How To Create User In Weblogic Admin Console"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel