快速业务通道

安全注释和授权在GlassFish和Java EE 5 SDK中的应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
面这个示例演示了这些注释继承规则:

示例:在 EJB 的如下层次结构中:

安全注释和授权在GlassFish和Java EE 5 SDK中的应用 - 编程入门网

可以使用以下方法权限:

Hello 方法 HelloBaseEJB 方法权限 HelloEJB 方法权限
hello1() 允许被 manager 角色中的用户访问 允许被所有用户访问
hello2() 允许被 employee 角色中的用户访问 允许被 staff 角色中的用户访问
hello3() 允许被 employee 角色中的用户访问 允许被 staff 角色中的用户访问

安全注释和授权在GlassFish和Java EE 5 SDK中的应用(4)

时间:2011-07-22

示例:在 Servlet 的以下层次结构中:

安全注释和授权在GlassFish和Java EE 5 SDK中的应用 - 编程入门网

Servlet 定义的角色 RunAs
HelloBaseServlet employee engineer
HelloServlet employee、manager staff
HelloServlet2 employee

注意,HelloServlet2 中没有设置 run-as 角色。

使用部署描述符

使用注释可以简化应用程序的部署描述符。但是在某些场景中,我们仍然需要或者更喜欢使用部署描述符。本节将描述这些场景。

对于 @RolesAllowed 的 EJB Web 服务端点,您需要在 sun-ejb-jar.xml 中指定 <login-config> 和 <auth-method> 元素来定义将要使用的身份验证类型。对于用户名密码身份验证,将 <auth-method> 元素设置为 BASIC,如以下示例所示。只有 EJB Web 服务端点需要执行此步骤,EJB 不需要。

<sun-ejb-jar>     <enterprise-beans>        <ejb>           <ejb-name>HelloEjb</ejb-name>           <webservice-endpoint>              <port-component-name>HelloEjb</port-component-name>              <login-config>                 <auth-method>BASIC</auth-method>                 <realm>default</realm>              </login-config>           </webservice-endpoint>                 </ejb>      </enterprise-beans> </sun-ejb-jar>

@PermitAll、@RolesAllowed 和 @DenyAll 注释在 servlet 中不受支持。当使用 servlet 时,在 web.xml 部署描述符中指定身份验证和授权方式。以下信息必须在 web.xml 中指定:

<security-constraint>/<web-resource-collection>

这些元素指定了受保护 Web 资源的 URL 模式和 HTTP 方法。

<security-constraint>/<auth-constraint>

这些元素指定了允许访问受保护 Web 资源的角色列表。

<login-config>

该元素指定了将要执行的身份验证类型(例如,<auth-method>(BASIC 或 FORM))、将要执行身份验证的域 (<realm-name>),以及(如果是基于表格验证)登录表格和错误页面的位置 (<form-login-config>)。

<security-role> 该元素指定了该 Web 应用程序使用的角色列表。该列表必须包含上面提到的 <auth-constraint> 中指定的角色。

安全注释和授权在GlassFish和Java EE 5 SDK中的应用(5)

时间:2011-07-22

例如,假设您希望保护 in

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号