WEB开发网
开发学院软件开发Java Geronimo V2.1.5 中的安全提升 阅读

Geronimo V2.1.5 中的安全提升

 2010-07-02 00:00:00 来源:WEB开发网   
核心提示: 这个约束表明 monitor 角色只能访问有限的 URL,同时,Geronimo V2.1.5 中的安全提升(10),在 navigation.jsp 中采用编程型安全实现方式,添加类似如下语判断语句:if(request.isUserInRole("monitor")){&

这个约束表明 monitor 角色只能访问有限的 URL。同时,在 navigation.jsp 中采用编程型安全实现方式,添加类似如下语判断语句:

 if(request.isUserInRole("monitor")){ 
  … 
 } 

以此来控制 monitor 角色可以访问的页面连接。同样的逻辑也可应用于 mconsole-war 的 web.xml 和 JSP 页面中。

Monitor 用户登录后的界面如图 1 所示。

图 1. Monitor 用户登录后的控制台界面
Geronimo V2.1.5 中的安全提升

查看原图(大图)

Kerberos 登录模块

Kerberos 协议用于在不安全的网络环境中不同计算机节点之间的安全通讯。Java EE 5 的规范中并没有要求 Java EE 产品必须提供 Kerberos 协议的支持,同样 Geronimo 在以往版本也没有明确提供该协议的支持。但用户可以通过扩展 Geronimo 所提供的 API,利用底层 Java 系统提供的 Kerberos 实现在 Geronimo 中提供对 Kerberos 协议的支持。IBM JDK 和 Sun JDK 分别提供不同类来支持 Kerberos 协议,Geronimo 所做的只是对 JDK 中提供的类进行再次包装,然后通过实现 Geronimo 中 LoginModule 这个接口,就可以使用户在使用 Kerberos 安全域时如同使用 Geronimo 中已经提供的 SQL、Properties 和 LDAP 安全域一样方便。

我们来简单了解一下具体的技术细节

清单 13. KerberosLoginModule 之 initialize()

 public void initialize(Subject subject, CallbackHandler callbackHandler, 
          Map sharedState, Map options) { 
   this.subject = subject; 
   String krb5LoginModuleClass = (String) options.get("krb5LoginModuleClass"); 
   … 
   krb5Subject = new Subject(); 
   krb5LoginModule.initialize(krb5Subject, callbackHandler, sharedState, options1); 
   String addOnPrincipalClass = (String) options.get("addOnPrincipalClass"); 
   String addOnPrincipalName = (String) options.get("addOnPrincipalName"); 
   if(addOnPrincipalClass != null && !addOnPrincipalClass.equals("")) { 
    krb5LoginModule = (LoginModule)Class.forName(krb5LoginModuleClass).newInstance(); 
    } 
    … 
   } 

上一页  5 6 7 8 9 10 

Tags:Geronimo 安全 提升

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接