快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
           <method-name>hello1</method-name>          </method>        </method-permission>        <method-permission>          <unchecked/>          <method>            <ejb-name>HelloEJB</ejb-name>            <method-intf>Local</method-intf>            <method-name>hello3</method-name>          </method>        </method-permission>        <exclude-list>          <method>            <ejb-name>HelloEJB</ejb-name>            <method-intf>Local</method-intf>            <method-name>hello2</method-name>          </method>        </exclude-list>      </assembly-descriptor>    </ejb-jar>

行为如下:

方法 注释 部署描述文件覆盖
hello1() 允许被所有用户访问 允许被 javaee 角色的用户访问
hello2() 允许被 javaee 角色的用户访问 不允许被任何用户访问
hello3() 不允许被任何用户访问 允许被所有用户访问

在 GlassFish 中,如果应用程序部署描述文件中没有指定域,则该应用程序将使用默认域。您可以在运行时部署描述符 sun-application.xml 和 sun-ejb-jar.xml 中使用 <realm> 元素或在 web.xml 中使用 <realm-name> 元素来覆盖该设置。

如果在 GlassFish 中使用 @RunAs 注释,则需要将 run-as 角色关联到一个主体,如果只关联了一个主体,则该主体将作为 run-as 主体的默认值;如果关联了多个主体,则需要明确设置 run-as 主体。以下示例演示了如何在 sun-ejb-jar.xml 中设置 run-as 主体:

...    <ejb>      ...      <principal>        <name>user1</name>      </principal>      ...    </ejb>

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

时间:2011-07-22

以下示例演示了如何在 sun-web.xml 中设置 run-as 主体:

...    <servlet>      <servlet-name>myServlet</servlet-name>      <principal-name>user1</principal-name>      ...    </servlet>    ...

结束语

总而言之,注释可以通过身份验证和授权为 Java EE 5 环境中的应用程序提供安全性。在 Java EE 5 环境中使用身份验证和授权时,通常需要遵循以下几个步骤:

创建 Java EE 应用程序。

使用 Enterprise JavaBeans 安全注释建立授权约束,或者在 Web 模块的 web.xml 文件中添加安全约束。

在相应的部署描述符中添加身份验证需求 <login-config>。

建立域(如果未使用默认域),或者在应用程序部署描述符中指定 run-as 主体。

将 <security-role-mapping> 元素添加到运行时部署描述文件中,在应用程序角色和应用服务器组或主体之间建立映射。

打包和部署应用程序。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号