`
yangzb
  • 浏览: 3502010 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何在weblogic 中对EJB 使用角色权限控制 java教程

阅读更多

在开发者角度来说,应用程序本身只需定义那些角色”role” 可访问哪些方法, 具体的角色与实际系统中用户的映射关系由deployer 来定义。

一. application.xml 定义需要用到的role

<?xml version="1.0" encoding="utf-8"?>
<!doctype application public ´-//sun microsystems, inc.//dtd j2ee application 1.3//en´ ´http://java.sun.com/dtd/application_1_3.dtd´>
<application>
  <display-name>ejbtest</display-name>
  <module>
    <ejb>ejbtest.jar</ejb>
  </module>
  <security-role>
    <description></description>
    <role-name>myrole1</role-name>
  </security-role>
</application>

二. weblogic-application.xml 把系统用户(springview)映射到role(myrole1)

<!doctype weblogic-application public ´-//bea systems, inc.//dtd weblogic application 8.1.0//en´ ´http://www.bea.com/servers/wls810/dtd/weblogic-application_2_0.dtd´>
<weblogic-application>
  <security>
    <security-role-assignment>
      <role-name>myrole1</role-name>
      <principal-name> springview </principal-name>
    </security-role-assignment>
  </security>

  <application-param>
    <param-name>webapp.encoding.default</param-name>
    <param-value>utf-8</param-value>
  </application-param>
  <classloader-structure>
  </classloader-structure>

</weblogic-application>

三. ejb-jar.xml 定义了那些方法可被那些角色访问

<ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>ses</ejb-name>
      <home>src.seshome</home>
      <remote>src.ses</remote>
      <ejb-class>src.sesbean</ejb-class>
      <session-type>stateless</session-type>
      <transaction-type>container</transaction-type>
      <security-role-ref>
        <!-- 定义了可在程序中使用的不变的myrole映射名称 -->
 <role-name>myrole1</role-name>
 <role-link>myrole1</role-link>
      </security-role-ref>
    </session>
  </enterprise-beans>
  <assembly-descriptor>
 <!-- 这一段必须要有,定义了在这个ejb 中要使用角色的logicname -->
    <security-role>
      <role-name>myrole1</role-name>
    </security-role>
    <method-permission>
    <!-- 定义了method2 只能由myrole1 来访问,如果用户以springview名义通过jndi 来lookup 这个ejb 即具有myrole1 角色 -->
      <role-name>myrole1</role-name>     
      <method>
        <ejb-name>ses</ejb-name>
        <method-intf>remote</method-intf>
        <method-name>method2</method-name>
      </method>
    </method-permission>
    <method-permission>
      <role-name>myrole1</role-name>
      <method>
        <ejb-name>ses</ejb-name>
        <method-intf>remote</method-intf>
        <method-name>method1</method-name>
      </method>
    </method-permission>
  </assembly-descriptor>

</ejb-jar>

四. 建立用springview用户登陆 jndi 的initialcontext, 通过该initialcontext 进行lookup 操作的资源或对象(如:ejb) 都具有springview用户身份

private static context getinitialcontext() throws exception {
     string url = "t3://localhost:7001";
     string user = " springview ";//"test";
     string password = " springview1234";//"test";
     properties properties = null;
     try {
       properties = new properties();
       properties.put(context.initial_context_factory, "weblogic.jndi.wlinitialcontextfactory");
       properties.put(context.provider_url, url);
       if (user != null) {
         properties.put(context.security_principal, user);
         properties.put(context.security_credentials, password == null ? "" : password);
       }

       return new initialcontext(properties);
     }
     catch(exception e) {
       //log("unable to connect to weblogic server at " + url);
       //log("please make sure that the server is running.");
       throw e;
      //e.printstacktrace() ;
     }
   }

分享到:
评论

相关推荐

    EJB 和WEBLOGIC 结合例子

    6. **安全性**:EJB和WebLogic提供了强大的安全框架,可以控制对EJB的访问,实现角色基于的安全策略,如限制特定用户或角色的访问权限。 7. **性能优化**:WebLogic Server 提供了许多性能优化选项,如集群、负载...

    weblogic7开发ejb的配置

    - **安全性** - WebLogic 7支持JAAS(Java Authentication and Authorization Service),可以定义角色和权限,确保EJB的安全访问。 - **JNDI(Java Naming and Directory Interface)** - EJB通过JNDI查找和绑定,...

    ejb.rar_weblogic8 ejb2

    【标题】"ejb.rar_weblogic8 ejb2" 提供...总之,通过这个压缩包中的例子,开发者可以深入理解EJB 2在WebLogic 8.1上的实践,这对于熟悉旧版Java EE架构和理解现代Java EE(现在称为Jakarta EE)的演变历史非常有帮助。

    Weblogic

    在安全方面,Weblogic7提供了基于角色的访问控制(Role-Based Access Control,RBAC),允许开发者定义安全角色,并将角色与EJB的方法映射,实现细粒度的权限控制。此外,Weblogic7还支持SSL加密通信,确保EJB间的...

    WebLogic Integration完整案例教程.rar

    2. **Java EE和JMS**:WebLogic Server支持Java Enterprise Edition(Java EE)标准,因此教程可能会涵盖Servlet、JSP、EJB等技术,以及Java Message Service(JMS)的使用,用于实现异步处理和消息队列。...

    Weblogic教程,PDF格式...

    在WebLogic教程中,我们首先会了解WebLogic Server的基本概念,包括它的架构、安装与配置过程。WebLogic Server基于服务导向架构(SOA),支持多种协议如HTTP、HTTPS、JMS等,并提供了丰富的管理工具,如WebLogic...

    Weblogic使用手册大全详解(中文).rar

    本使用手册大全详尽解析了WebLogic的各种功能、配置、管理和优化技巧,对于理解WebLogic的工作原理以及在实际操作中进行有效管理具有重要意义。 一、WebLogic基础 WebLogic Server是基于Java的,它支持J2EE(Java 2...

    weblogic9使用手册

    WebLogic Server 9支持多种安全特性,如角色、权限、SSL加密、身份验证和授权等。手册会解释如何配置安全性,创建用户和组,以及设置访问控制策略。 七、故障排查与日志分析 当遇到问题时,日志文件和诊断信息是...

    weblogic视频教程

    教程将涵盖WebLogic的安全特性,如用户身份验证、授权、SSL/TLS加密、JAAS(Java Authentication and Authorization Service)以及角色和权限的设置。 7. **性能优化** 了解性能监控工具,学习如何分析和调整...

    EJB基础.rar_ejb_enterprise java bean_分布式计算

    - **安全性**:EJB支持角色基的访问控制(RBAC),容器负责验证用户权限并限制对EJB方法的访问。 5. **分布式计算**: - EJB在分布式计算中扮演着关键角色,允许可扩展性和高可用性。EJB可以在多个服务器上分布,...

    一个EJB的小测试代码

    8. **安全性**:在WebLogic中,可以通过角色、权限和认证来设置EJB的安全性。"CurrencyConverter"可能需要限定只有特定的用户或角色才能访问。 综上所述,这个EJB的小测试代码是一个关于货币转换服务的实现,它在...

    weblogic使用手册中文版

    WebLogic Server提供了丰富的安全特性,如角色和权限管理、SSL加密、身份验证和授权机制。用户可以设置安全策略,包括访问控制、数据加密和审计日志。 7. **性能优化** 优化WebLogic Server涉及到调整内存分配、...

    weblogic

    在域配置中定义用户、组和角色,然后将这些角色分配给相应的应用程序,实现细粒度的安全控制。 8. **监控与性能优化** WebLogic提供了一套完整的监控工具,包括JMX(Java Management Extensions)和WLST(WebLogic...

    EJB_TEST自己编写的EJB例子

    EJB支持角色基础的访问控制(RBAC),允许对EJB方法的调用进行权限验证,以确保只有授权的用户或角色才能访问特定的业务操作。 **简单易懂**: "简单易懂"表明这个EJB示例可能采用了清晰的代码结构,简单的业务逻辑...

    EJB pdf 电子文档

    - **安全性**:EJB提供了内置的安全机制,包括角色基访问控制(RBAC),可以对不同类型的用户进行权限管理。 - **事务管理**:EJB支持事务处理,可以自动管理事务的开始、提交、回滚等操作,确保数据一致性。 - **...

    WebLogic培训教程PPT

    1. **Java EE和WebLogic Server的关系**:讲解Java EE标准如何被WebLogic Server支持,以及如何使用WebLogic Server实现各种Java EE组件,如Servlet、JSP、EJB等。 2. **WebLogic架构**:介绍WebLogic Server的组件...

    wlfullclient.jar(weblogic完整jar包)

    在Java EE(Enterprise JavaBeans)环境中,WebLogic Server扮演着核心角色,支持各种Java技术,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)和JASS(Java Authentication and Authorization ...

    weblogic培训资料(英文版本)

    在WebLogic 9中,你需要知道如何设置安全策略,管理用户角色和权限,以及配置SSL连接。 五、集群与高可用性 WebLogic的集群功能可以提高应用的可用性和可扩展性。学习如何配置和管理WebLogic集群,理解负载均衡、...

Global site tag (gtag.js) - Google Analytics