userconfig与userkey理解与应用

为什么需要userconfig与userkey?

举例来说:如果我们想让某人去执行编写一些WLST管理脚本,但又不想告诉对方管理员与用户名密码,如何实现呢?再比如,我们想写一些自动执行的WLST脚本,不想在执行过程中弹出题示框让用户输入用户名与密码,同时又不想把用户名与密码写死在脚本中,又如何实现?所有这些就需要用到userconfig与userkey,简单来说userconfig文件就代表用户名,而userkey文件则代表密码,当需要用户认证时,只要出示这两个文件即可。

如何生成userconfig与userkey?

1.  进入目录WL_HOME/common/bin

2. 执行wlst.cmd/sh

3. 连接到Admin Server

connect( username, password, url )

4. 执行命令生成userconfig与userkey文件

storeUserConfig(‘<userConfigFile>’, <userKeyFile>’)

例如:

storeUserConfig(‘C:/myFiles/myuserconfigfile.secure’, ‘C:/myFiles/myuserkeyfile.secure’)

这样,我们就得到了userconfig与userkey文件

如何使用userconfig与userkey?

userconfig与userkey一般是用在WLS脚本中,例如:

connect(userConfigFile=’C:/bea922/user_projects/domains/config-file’,userKeyFile=’C:/bea922/user_projects/domains/keyfile’,url=’t3://10.10.71.79:7001′)

nmConnect(userConfigFile=’C:/bea922/user_projects/domains/config-file’,userKeyFile=’C:/bea922/user_projects/domains/keyfile’, host=’10.10.71.79′, port=’5556′, domainName=’SAML_SOURCE’, domainDir=’C:/bea922/user_projects/domains/SAML_SOURCE’, nmType=’plain’)

如何通过userconfig与userkey文件反解析出用户名与密码?

样例Java代码:

import weblogic.security.UserConfigFileManager;
import weblogic.security.UsernameAndPassword;
public class SecureReader {
	public static void main( String[] args ) {
		UsernameAndPassword usernameAndPassword = UserConfigFileManager.getUsernameAndPassword( "d:/myuserconfigfile.secure", "d:/myuserkeyfile.secure", "weblogic.management" );
		String username = new String( usernameAndPassword.getUsername() );
		String password = new String( usernameAndPassword.getPassword() );
		System.out.println( "Username=" + username + ", Password=" + password );
	}
}

编译执行:

D:\>javac -classpath S:\fmw\wlserver_10.3\server\lib\weblogic.jar SecureReader.java

D:\>java -classpath S:\fmw\wlserver_10.3\server\lib\weblogic.jar;. SecureReader
Username=weblogic, Password=welcome1

(完)

如何为UCM配置基于WLS Embedded LDAP认证

1. 为WebLogic Embedded LDAP设置密码

进入WebLogic Server管理控制台,依次点击:[DOMAIN_NAME]->Security->Embedded LDAP,如图:

ldap_pwd

CredentialConfirm Credential输入框内输入密码,例如:welcome1

重新启动WebLogic Server

2.  为UCM配置安全提供者

进入UCM管理控制台,例如:http://localhost:7777/idc(sysadmin/idc)

依次点击:Administrator->Providers,在Create a New Provider部分找到ldapuser,点击:Add

add_provider

填写以下信息:

  • Source Path:$MW_HOME 对应的路径名
  • LDAP Server:WLS服务器地址,例如:localhost
  • LDAP Suffix:ou=people,ou=myrealm,dc=wc_domain(WLS域名)
  • LDAP Port:WLS监听端口,例如:7001
  • LDAP Attribute MAP:cn:dFullName,mail:dEmail,title:dUserType
  • LDAP Admin DN:cn=Admin
  • LDAP Admin Password:welcome1(步骤一中输入的密码)

样例:

provider

重新启动UCM所有服务

3. 验证效果

在UCM管理控制台,依次点击:Administrator->Providers,查看新添加的安全提供程序的状态情况

result

使用weblogic/welcome1用户登录UCM(http://localhost/idc),应该能够成功登录!

(完)