一、创建 MBean 定义文件MDF(与Weblogic8一致)
文件名称为:WorkSecurityAuthenticator.xml
<?xml version="1.0" ?>
<!DOCTYPE MBeanType SYSTEM "commo.dtd">
<MBeanType
Name = "WorkSecurityAuthenticator"
DisplayName = "Work Security Authenticator"
Package = "com.pims.work.auth.security"
Extends = "weblogic.management.security.authentication.Authenticator"
PersistPolicy = "OnUpdate"
Description = "This MBean represents configuration attributes for the WebLogic Authorization provider."
>
<MBeanAttribute
Name = "ProviderClassName"
Type = "java.lang.String"
Writeable = "false"
Default = ""com.pims.work.auth.security.WorkAuthProviderImpl""
Description = "The name of the Java class used to load the WebLogic Authorization provider."
/>
<MBeanAttribute
Name = "Description"
Type = "java.lang.String"
Writeable = "false"
Default = ""Weblogic Default Authorization Provider""
Description = "A short description of the WebLogic Authorization provider."
/>
<MBeanAttribute
Name = "Version"
Type = "java.lang.String"
Writeable = "false"
Default = ""1.0""
Description = "The version of the WebLogic Authorization provider."
/>
</MBeanType>
二、使用 WebLogic MBeanMaker 生成 MBean 类型
java -classpath "D:\bea9\weblogic92\server\lib\mbeantypes\wlManagement.jar;D:\bea9\weblogic92\server\lib\weblogic.jar;D:\bea9\jdk150_12\lib\tools.jar;D:\bea9\jdk150_12\lib\rt.jar;d:\auth" -DMDF="D:\auth\WorkSecurityAuthenticator.xml" -Dfiles="D:\auth" -DcreateStubs="true" weblogic.management.commo.WebLogicMBeanMaker
三、创建运行时类
package com.pims.work.auth.security;
import java.util.HashMap;
import javax.security.auth.login.AppConfigurationEntry;
import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag;
import weblogic.management.security.ProviderMBean;
import weblogic.security.provider.PrincipalValidatorImpl;
import weblogic.security.spi.AuthenticationProviderV2;
import weblogic.security.spi.IdentityAsserterV2;
import weblogic.security.spi.PrincipalValidator;
import weblogic.security.spi.SecurityServices;
public final class WorkAuthProviderImpl implements AuthenticationProviderV2
{
private String description;
private LoginModuleControlFlag controlFlag;
public void initialize(ProviderMBean mbean, SecurityServices services)
{
WorkSecurityAuthenticatorMBean myMBean = (WorkSecurityAuthenticatorMBean)mbean;
description = myMBean.getDescription() + "\n" + myMBean.getVersion();
String flag = myMBean.getControlFlag();
if (flag.equalsIgnoreCase("REQUIRED"))
{
controlFlag = LoginModuleControlFlag.REQUIRED;
}
else if (flag.equalsIgnoreCase("OPTIONAL"))
{
controlFlag = LoginModuleControlFlag.OPTIONAL;
}
else if (flag.equalsIgnoreCase("REQUISITE"))
{
controlFlag = LoginModuleControlFlag.REQUISITE;
}
else if (flag.equalsIgnoreCase("SUFFICIENT"))
{
controlFlag = LoginModuleControlFlag.SUFFICIENT;
}
else
{
throw new IllegalArgumentException("invalid flag value" + flag);
}
}
public String getDescription()
{
return description;
}
public void shutdown()
{
System.out.println("WorkAuthProviderImpl.shutdown");
}
private AppConfigurationEntry getConfiguration(HashMap options)
{
return new AppConfigurationEntry("com.pims.work.auth.security.WorkLoginModuleImpl", controlFlag, options);
}
public AppConfigurationEntry getLoginModuleConfiguration()
{
HashMap options = new HashMap();
return getConfiguration(options);
}
public AppConfigurationEntry getAssertionModuleConfiguration()
{
HashMap options = new HashMap();
options.put("IdentityAssertion","true");
return getConfiguration(options);
}
public PrincipalValidator getPrincipalValidator()
{
return new PrincipalValidatorImpl();
}
public IdentityAsserterV2 getIdentityAsserter()
{
return null;
}
}
其中com.pims.work.auth.security.WorkLoginModuleImpl为JAAS的LoginModule实现类。
四、使用 WebLogic MBeanMaker 创建 MBean JAR 文件 (MJF)
java -classpath "D:\bea9\weblogic92\server\lib\mbeantypes\wlManagement.jar;D:\bea9\weblogic92\server\lib\weblogic.jar;D:\bea9\jdk150_12\lib\tools.jar;D:\bea9\jdk150_12\lib\rt.jar;d:\auth" -DMJF="D:\auth\lib\WorkAuthProvider.jar" -Dfiles="D:\auth" -DcreateStubs="true" weblogic.management.commo.WebLogicMBeanMaker
五、把产生的jar包放到WL_HOME/server/lib/mbeantypes/目录下,并在控制台进行配置。
分享到:
相关推荐
NULL 博文链接:https://dead-knight.iteye.com/blog/853919
WebLogic9应用发布操作说明,帮助您更深了解weblogic
WebLogic部署应用程序 WebLogic Server提供了三种方法来用于部署J2EE程序: ☆自动部署:WebLogic Server将定期扫描<domain-name>/applications目录,以获取新的和更 新的应用程序。 ☆使用WebLogic.Deployer、...
写出了weblogic服务器发布weblogic应用程序的步骤和如何更改weblogic的发布端口
weblogic 9 服务器配置 weblogic 9 服务器配置 weblogic 9 服务器配置 weblogic 9 服务器配置 word 文档,有截图说明
WebLogic部署应用程序(图解)
BEA WebLogic Server 开发WebLogic Server 应用.doc
WebLogic部署应用程序(图解),WebLogic部署应用程序(图解)
一段时间没操作weblogic 9 由于没设置比较容易记的密码导致 密码遗忘
weblogic9使用手册,详细记录weblogic9的安装且配图,从安装到使用,到配置。内容很详细
weblogic9 linux 安装手册
WebLogic安装部署应用程序(图解).
weblogic9技术白皮书 pdf
一般情况下,我们要求部署的服务端口和程序的服务端口分开来控制
Weblogic9.doc 学习文档
忘记Weblogic9_2_2控制台密码的处理方法
第十三章 WebLogic Server 8.1 应用程序安全 第十四章 设计产品部署 第十五章 Web 拍卖设计目标 第十六章 WebLogic Workshop 第十七章 Weblogic Server 容量计划 第十八章 Weblogic Platform 8.1 简介 附录A Web ...
apache与weblogic9整合,
网站应用https技术方式,主要场景是weblogic 启动https