Java Servlet 3.0 对安全性的支持

此发行版的 WebSphere® Application Server 支持 Java™ Servlet 3.0 规范中定义的所有安全性更新。

此发行版的 WebSphere Application Server 支持 Java Servlet 3.0 规范 (JSR-315) 中定义的所有安全性更新,其中包括新的 Servlet 安全性注释、使用新的程序化安全性 API 以及动态更新 Servlet 安全性配置。

重要的增强功能是对 Servlet 提供了新的注释支持。开发者可以使用注释来声明安全性约束,从而取代在 web.xml 文件中声明安全性约束(在 Java Servlet 3.0 之前就是使用这种方法)。web.xml 文件将继续起作用,并覆盖定义为注释的任何冲突。

受支持的 Java Servlet 3.0 安全性更新的列表中包括下列各项:
  • 支持 @ServletSecurity 注释
  • 支持动态更新 Servlet 安全性注释 @RunAs、@declareRoles 和 @ServletSecurity
  • 支持认证、登录和注销 Servlet 安全性方法
  • 新的 com.ibm.websphere.security.displayRealm 属性指定 HTTP 基本认证登录窗口是否显示应用程序 web.xml 文件中未定义的领域名。

下面更详细地讨论了 Java Servlet 3.0 安全性更新:

支持 @ServletSecurity 注释:

当应用程序进行部署时,ServletSecurity MergeAction 实现将查找所有具有 ServletSecurity 注释的 Servlet。对于每个已注释的 Servlet,它会根据 WebServlet 注释来查找与所给定类相关联的 Servlet。如果在部署描述符中找不到 ServletSecurity 注释中的 RolesAllowed,那么它将在此部署描述符中为角色创建 role-name 属性。

当应用程序启动时,WebContainer 将检查所有具有 RunAs、declareRoles 和 ServletSecurity 注释的 Servlet,并对 ServletRegistration 注释的 setServletSecurity() 方法设置这些注释。WebContainer 将通知安全性组件检查所有具有 URL 模式和安全性约束的 ServletRegistration 注释。然后,安全性组件将确定部署描述符中是否定义了 URL 模式。如果在部署描述符中未定义 URL 模式,那么会创建然后使用 URL 模式中的安全性约束和 RunAs 角色。如果在部署描述符中已定义精确匹配,那么会使用部署描述符的 URL 模式中的安全性约束和 RunAs 角色,而不使用注释数据。

请阅读“安全性注释”主题以了解更多信息。

支持动态更新 Servlet 安全性注释 @RunAs、@declareRoles 和 @ServletSecurity:

当应用程序启动时,Web 容器将检查所有具有 RunAs、declareRoles 和 ServletSecurity 注释的 Servlet,并对 ServletRegistration 注释的 setServletSecurity() 方法设置这些注释。Web 容器将通知安全性组件检查所有具有 URL 模式和安全性约束的 ServletRegistration 注释。然后,安全性组件将确定部署描述符中是否定义了 URL 模式。如果在部署描述符中已定义精确匹配,那么会使用部署描述符的 URL 模式中的安全性约束和 RunAs 角色,而不使用动态数据。

请阅读“Servlet 安全性动态注释”主题以了解更多信息。

注: WebSphere Application Server 不但支持缺省授权提供程序,还支持基于 Java Authorization Contract for Containers (JACC) 规范的授权提供程序。基于 JACC 的授权提供程序(例如,Tivoli® Access Manager)使第三方安全提供程序能够处理 Java EE 授权。本机授权和 JACC 都支持 RunAs、declareRoles 和 ServletSecurity 注释。

支持认证、登录和注销 Servlet 安全性方法:

authenticate 方法通过使用为 servlet 上下文配置的 WebSphere Application Server 容器登录机制来认证用户。

login 方法使用用户标识和密码向 WebSphere Application Server 对用户进行认证。如果认证成功,那么会在线程和轻量级第三方认证 (LTPA) cookie 上创建一个用户主体集(如果启用了单点登录 (SSO))。

logout 方法使用户注销 WebSphere Application Server 并使 HTTP 会话失效。

请阅读“Servlet 安全性方法”主题以了解更多信息。

新的 com.ibm.websphere.security.displayRealm 属性指定 HTTP 基本认证登录窗口是否显示应用程序 web.xml 文件中已定义的领域名:

如果未在 web.xml 文件中定义领域名,那么将出现下列其中一种情况:
  • 如果此属性设置为 false(缺省值),那么显示的 WebSphere 领域名为“缺省领域”。
  • 如果此属性设置为 true,那么显示的 WebSphere 领域名是用户注册表领域名(对于 LTPA 认证机制)或 Kerberos 领域名(对于 Kerberos 认证机制)。

请阅读“安全性定制属性”主题以了解更多信息。


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_servlet30_intro
文件名:csec_servlet30_intro.html