`
Dead_knight
  • 浏览: 1202227 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
752c8642-b795-3fe6-946e-a4e845bffdec
Spring Securi...
浏览量:240599
33caa84e-18a6-3036-a82b-6e2106a4de63
clojure专题
浏览量:49039
E17ca077-44df-3816-a3fe-471c43f6e1e5
WebLogic11g
浏览量:237060
社区版块
存档分类
最新评论

Weblogic9扩展JAAS应用注意点

阅读更多
一、创建 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       = "&quot;com.pims.work.auth.security.WorkAuthProviderImpl&quot;"		
	  	Description   = "The name of the Java class used to load the WebLogic Authorization provider."
	/>
	
	<MBeanAttribute 
		Name = "Description"
		Type = "java.lang.String"
		Writeable = "false"
		Default = "&quot;Weblogic Default Authorization Provider&quot;"    
		Description = "A short description of the WebLogic Authorization provider."
	/>
	
	<MBeanAttribute 
		Name = "Version" 
		Type = "java.lang.String" 
		Writeable = "false" 
		Default = "&quot;1.0&quot;" 
		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/目录下,并在控制台进行配置。
0
0
分享到:
评论
2 楼 Dead_knight 2012-05-22  
weblogic10对于JAAS的支持部分我还没部署过,你的问题没解决的话,我可以帮忙研究一下
1 楼 rainbow_2000 2012-05-21  
您好,请问weblogic10.3扩展JAAS有什么区别,正在做这个,生成MJF的时候失败。
前面的和weblogic9的好像是一样的。

相关推荐

    Weblogic扩展JAAS身份验证案例

    WebLogic服务器默认集成了多种认证模块,但有时我们需要根据特定需求定制自己的验证逻辑,这就涉及到了扩展JAAS。 扩展WebLogic的JAAS身份验证主要分为以下步骤: 1. **创建自定义LoginModule**: 首先,我们需要...

    webLogic Server9安装和部署说明

    WebLogic Server 9 是 BEA Systems(现已被甲骨文公司收购)开发的一款Java应用服务器,主要用于构建、集成、部署和管理大型分布式Web应用程序、网络应用程序以及数据库应用程序。它提供了强大的性能、可扩展性和高...

    WebLogic9[1].2安装配置

    WebLogic 服务器是 BEA Systems(现已被 Oracle 公司收购)开发的一款企业级 Java 应用服务器,专门用于构建、部署和管理大型分布式 Web 应用、网络应用以及数据库应用。它支持 Java 平台的企业版标准,提供了强大的...

    Weblogic管理和应用

    通过学习和实践这些知识点,你将能够熟练地管理WebLogic Server,并充分利用其功能来部署和运行企业级Java应用程序。同时,了解和掌握WebLogic的最新版本特性、最佳实践以及与其他Oracle产品(如Oracle Database、...

    weblogic weblogic weblogic

    总的来说,WebLogic是一个全面的企业级应用服务器,它提供了丰富的功能,以满足复杂的企业级应用需求,同时具备高度可扩展性和灵活性,能够适应不断变化的业务环境。通过深入理解和有效利用WebLogic的特性,企业可以...

    项目部署(weblogic)

    同时,WebLogic提供了丰富的安全管理特性,包括角色、权限、安全策略和JAAS认证,确保企业应用的数据安全。 总之,WebLogic作为一款强大的应用服务器,它的部署和配置涉及多个层面,包括域的创建、服务器设置、JDK...

    Weblogic 套件和Weblogic 标准版 Weblogic 企业版 功能对比

    WebLogic Server作为一款高性能、可扩展的企业级Java应用服务器,提供了丰富的功能与服务,适用于构建、部署和管理大规模分布式应用。为了更好地满足不同规模企业的需求,Oracle提供了WebLogic Standard Edition...

    在weblogic中部署的MVC例子

    在WebLogic中部署MVC(模型-视图-控制器)应用程序是一个常见的实践,尤其是在企业级Java应用开发中。...理解这些知识点对于Java开发者来说至关重要,因为它有助于构建和维护高效、可扩展的企业级应用。

    基于JAAS的Java安全编程

    JAAS(Java Authentication and Authorization Service,Java认证与授权服务)是Sun Microsystems为Java 2平台开发的一套安全框架扩展,旨在加强Java应用程序的安全性。JAAS是JDK 1.3的标准组件,并在JDK 1.4中得到...

    weblogic讲义

    WebLogic Server是基于Java 2 Platform, Enterprise Edition (J2EE) 规范的,为构建分布式、可扩展和高可用性的企业应用提供了一个强大平台。 1. 分布式架构与J2EE技术 分布式系统的核心在于将工作负载分散到多个...

    weblogic 8.14

    3. **安全管理**:WebLogic提供了基于角色的访问控制(RBAC)、SSL/TLS加密以及JAAS(Java Authentication and Authorization Service)支持,保障了应用的安全运行。 4. **部署与管理**:WebLogic Console是其图形...

    weblogic管理员指南

    WebLogic Server是一款由甲骨文公司提供的企业级Java应用程序服务器,是Java EE(Java Platform, Enterprise Edition)平台的实现,广泛用于构建、部署和管理分布式应用程序。本指南将深入探讨WebLogic Server的管理...

    Weblogic 8.1官方培训材料

    WebLogic 8.1是Oracle公司出品的一款企业级Java应用服务器,它提供了全面的Java EE(Enterprise Edition)支持,用于构建、部署和管理基于Java技术的企业应用。此官方培训材料详细介绍了WebLogic 8.1的各项功能和...

    weblogic 8.1pojiebao.zip

    5. **安全管理**:WebLogic Server 8.1提供了基于角色的访问控制(RBAC)、SSL/TLS加密、JAAS(Java Authentication and Authorization Service)集成等功能,以保护应用程序和数据的安全。 6. **性能监控与管理**...

    weblogic_deploy.doc

    WebLogic Server以其高性能、可扩展性和高可用性著称,尤其适合处理关键性的Web应用系统问题。与WebLogic Commerce Server配合使用,它能提供一个完整的解决方案来部署适应性个性化电子商务应用。 部署WebLogic域的...

    WebLogic管理指南(中文)

    WebLogic管理指南是针对Oracle公司开发的企业级Java应用服务器——WebLogic Server的详细操作手册。WebLogic Server在企业级IT环境中被广泛使用,因为它提供了一套全面的平台,用于构建、部署和管理分布式Web应用...

    BEA WebLogic Server book(中文)

    2. **应用服务器架构**: WebLogic Server提供了基于组件的架构,允许开发者将应用分解为独立的模块,如Web层、业务逻辑层和数据访问层,以提高可维护性和可扩展性。 3. **部署与管理**: WebLogic Server提供了管理...

    weblogic视频教程

    WebLogic是Oracle公司的一款企业级应用服务器,尤其在Java EE应用程序的部署和管理方面表现出色。本套"WebLogic视频教程"旨在帮助学习者全面掌握WebLogic的基础知识和高级特性,提升Java开发与运维能力。 1. **...

    WebLogic Server基础

    总的来说,WebLogic Server是企业Java应用的基础平台,它的强大在于其灵活性、可扩展性和管理能力。理解和掌握WebLogic Server的基础知识对于任何希望在Java EE环境中工作的开发者和管理员来说都是至关重要的。通过...

Global site tag (gtag.js) - Google Analytics