Saturday, February 2, 2013

Security and dealing with cursors in WLST

username = 'Pierluigi'
password = 'weblogic1'
url='t3://myserver.acme.com:7001'
connect(username,password,url)
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider('DefaultAuthenticator')


at this point I want to see all the groups to which a given user 'chennapa' belongs:

atnr.listMemberGroups('chennapa')

'Cursor_181'

what whall I do with this bloody 'Cursor_181' ???
As very well explained here, I need some special instruction to iterate over the cursor:

the instructions are haveCurrent, advance and close

cursor=atnr.listMemberGroups('chennapa')
while atnr.haveCurrent(cursor):
    print atnr.getCurrentName(cursor)
    atnr.advance(cursor)

atnr.close(cursor)

 viewMBean(atnr)
Attribute Names and Values
--------------------------
MaxGroupHierarchiesInCache                   100
KeepAliveEnabled                             false
SupportedImportFormats                       java.lang.String[DefaultAtn]
SupportedImportConstraints                   java.lang.String[]
Description                                  WebLogic Authentication Provider
ControlFlag                                  SUFFICIENT
GroupHierarchyCacheTTL                       60
PropagateCauseForLoginException              false
PasswordDigestEnabled                        false
MaxGroupMembershipSearchLevel                0
EnableGroupMembershipLookupHierarchyCaching  true
SupportedUserAttributeNames                  java.lang.String[displayname, employeenumber, employeetype, givenname, homephone, mail, title, preferredlanguage, departmentnumber, facsimiletelephonenumber, mobile, pager, telephonenumber, postaladdress, street, l, st, postofficebox, c, homepostaladdress]
SupportedExportFormats                       java.lang.String[DefaultAtn]
Name                                         DefaultAuthenticator
UseRetrievedUserNameAsPrincipal              true
SupportedExportConstraints                   java.lang.String[users, groups, passwords]
ProviderClassName                            weblogic.security.providers.authentication.DefaultAuthenticationProviderImpl
Realm                                        Security:Name=myrealm
GroupMembershipSearching                     unlimited
Version                                      1.0
MinimumPasswordLength                        8
------------------------
Operations on this MBean
------------------------
setGroupDescription
changeUserPassword
setUserDescription
listMemberGroups
removeMemberFromGroup
groupExists
getGroupDescription
advance
getUserDescription
haveCurrent
listGroupMembers
unSet
getSupportedUserAttributeType
getUserAttributeValue
wls_getDisplayName
userExists
close
isSet
createGroup
listGroups
resetUserPassword
createUser
removeUser
addMemberToGroup
listAllUsersInGroup
setUserAttributeValue
importData
isMember
removeGroup
listUsers
exportData
isUserAttributeNameSupported
getCurrentName



WebLogic security

trying to educate myself.... here is what I read:

http://docs.oracle.com/cd/E12839_01/web.1111/e13707/identity_trust.htm#i1170342 excellent

Chapter 11 of Professional Oracle WebLogic Server

http://weblogic-wonders.com/weblogic/2011/05/25/ssl-configuration-for-weblogic-server/ short practical guide

http://one-size-doesnt-fit-all.blogspot.ca/2009/09/weblogic-server-identity-vs-trust.html general meditations on the topic



Friday, February 1, 2013

Stuck thread waiting for lock com.octetstring.vde.util.Logger

Still investigating...

      "[STUCK] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock com.octetstring.vde.util.Logger@756ddaa7 WAITING
          
               java.lang.Object.wait(Native Method)
          
               java.lang.Object.wait(Object.java:485)
          
               com.octetstring.vde.util.Logger.writeLock(Logger.java:201)
          
               com.octetstring.vde.util.Logger.log(Logger.java:282)
          
               com.octetstring.vde.backend.standard.BackupTask.writeFile(BackupTask.java:94)
          
               com.octetstring.vde.backend.standard.BackupTask.runTask(BackupTask.java:58)
          
                    com.octetstring.vde.util.TimedActivityThread.runOnDemand(TimedActivityThread.java:76)
          
                    weblogic.ldap.EmbeddedLDAP$EmbeddedLDAPTimedActivity.timerExpired(EmbeddedLDAP.java:1570)
          
               weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
          
                    weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
          
               weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
          
               weblogic.work.ExecuteThread.run(ExecuteThread.java:178)