快速业务通道

使用AppFuse快速构建J2EE应用 - 快速开发,从AppFuse开始 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
lue>/WEB-INF/applicationContext-*.xml,/WEB-INF/security.xml</param- value>   </context-param> ...

使用AppFuse快速构建J2EE应用 - 快速开发,从AppFuse开始(12)

时间:2011-10-16 IBM 沈锐

本文关于系统安全的实现如下:

在数据库中增加新的角色“hr”:编辑 myapp\metadata\sample-data.xml 文件,增 加如下黑体的部分:

清单 6. sample-data.xml 中角色 “hr”的记录

... <table name=''role''>   <column>id</column>   <column>name</column>   <column>description</column>   <row>    <value>1</value>     <value>admin</value>    <value><![CDATA[Administrator role  (can edit Users)]]></value>   </row>   <row>     <value>2</value>    <value>user</value>     <value><![CDATA[Default role for all Users]]></value>    </row>   <row>    <value>3</value>     <value>hr</value>    <value><![CDATA[Role for employee  mangement]]></value>   </row> </table> ...

AppFuse 使用 dbunit 加载样本数据到数据库中,sample-data.xml 为 dbunit 提 供样本数据定义。修改完 sample-data.xml,在 c:\opt\myapp\ 下运行 “ant db-load”, 样本数据被重新加载。这样,我们就在数据库中定义了一个新的角色记录 “hr”。

定 义角色名称的中文显示文本:在 myapp/sr/web/webapp/action/UserForm.java的方法 pageBeginRender 中找到如下代码:

// initialize drop-downs if (getAvailableRoles() ==  null) {    List roles = (List) getServletContext().getAttribute (Constants.AVAILABLE_ROLES);   setAvailableRoles(new RoleModel(roles)); }

将其做如下修改:

// initialize drop-downs if  (getAvailableRoles() == null) {    List roles = (List) getServletContext ().getAttribute(Constants.AVAILABLE_ROLES);   for(int i=0;i<roles.size();i++){      LabelValue role=(LabelValue) roles.get(i);     role.setLabel (getText("rolelabel_"+role.getValue()));   }    setAvailableRoles(new  RoleModel(roles)); }

并在 web\WEB- INF\classes\ApplicationResources_zh_CN.properties 中增加角色名称的定义:

rolelabel_admin=系统管理员  rolelabel_user=普通用户  rolelabel_hr= 人事管理

使用AppFuse快速构建J2EE应用 - 快速开发,从AppFuse开始(13)

时间:2011-10-16 IBM 沈锐

AppFuse 默认在用户管理界面上显示的角色的名称是表 role 中的名称,这样无 论切换到何种语言,角色名称都是 “admin”、"user"、“hr” 等等,角色名称 不能根据 Locale 用相应的语言显示。因此,本文将角色的名称用 Resource Bundle 文件定义,数据库 中存储 “key” 值。修改后的效果见 图 10。

配置“安全策略”:在 web\WEB-INF\security.xml的 bean "filterInvocationInterceptor" 声明中增加如下“黑体 ”的一行:

<bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">      <property 

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