`
sharp-fcc
  • 浏览: 110804 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

北软实训之二

阅读更多

在北软实训这里,我完成了第一个自己手动完成的模块,权限管理模块,揭开了权限管理的神秘面纱。想想权限管理,既在意料之外,又在情理之中。

1.       首先,在用户登录的时候将ID放入session之中。

由于其他组员使用ajax进行交互的所以把id值返回,document.login.userID.value=result; 将在主界面之中将,userID加入其中。

2.       在页面上应用ognl表达式@com.bjsoft.oa.action.AclAction@hasPermission(#session.userID,'ORG','UPDATE') 调用这个action的静态方法 –hasPermission 这个方法会返回一个bool值,通过对这个bool值的判断,可以决定模块是否应该显示出来。

在action中,由于是静态方法,在调用的这个方法的时候,不会初始化这个类,所以里面有些在spring配置的工具类就不会被实例化,所以我们得手工的到spring的applicationContext中去加载这个类,首先,获取web工程的上下文,WebApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext()) 然后通过ctx.getBean("aclService") 来加载这个需要的类。

3.       然后往下调,调用到dao层,根据用户ID,模块英文缩写,还有相应的操作(CRUD)来判断

a)         通过模块缩写,查找到模块的ID

b)         以用户类型查找权限记录,如果有对这个模块的记录的话,直接返回,如果没有的话,到下一步。

c)         找到用户所对应的角色,通过角色找到角色所拥有的权限,取出对应模块操作的字段,返回是否具有相应的操作。

 

这里有个小技巧,看是否有对应模块的操作,是用一个0~15的数字存在数据库中,取出来之后将他化为4位二进制数,代表了四个操作(CRUD),想要哪一位就跟那一位进行&操作,看得到的数是否为0,有点像linux中查看用户权限的操作,比如ls –l 列出的用户所具有的权限,就是读取系统中的一个文件的文件信息,是一个二进制文件,通过&操作将对应的位取出来,判断是否具有权限。

分享到:
评论

相关推荐

    北软实训jsp(Hibernate框架技术训练)实例

    【标题】:“北软实训jsp(Hibernate框架技术训练)实例” 【描述】:“我自己的实训材料,给大家分享,主要涉及Hibernate框架技术训练” 这个实训项目是针对Java Web开发中的Hibernate框架进行深入学习的一个实例...

    数控音频功率放大器实训报告.docx

    数控音频功率放大器实训报告 在这篇实训报告中,我们将探讨数控音频功率放大器的设计和制作。数控音频功率放大器是一种将音频信号放大到一定电平的设备,它广泛应用于音频系统、扬声器系统、音响设备等领域。 从实...

    数控车实训教案.docx

    2. **机床维护保养**:正确使用和维护数控车床是实训的重要内容。这涉及到机床的日常检查,如润滑系统的维护(包括床头箱、导轨、丝杠等的润滑)、冷却系统的检查与使用(冷却泵、喷水软管的功能及冷却液的清洁度)...

    南京工业职业技术学院(数控音频功率放大器实训报告)2.docx

    在项目的制作与调试阶段,实训过程强调了原理图和PCB板的设计,焊接技术的重要性,以及软硬件的联合调试。这一部分训练了学生们的动手能力和问题解决能力。 通过实训,学生不仅掌握了相关芯片的工作原理和应用,还...

    北软教育JAVA软件工程师培训相关介绍.docx

    ### 北软教育JAVA软件工程师培训相关介绍 #### 培训方式 ##### 实训基础阶段 实训基础阶段采用的是理论与实践相结合的教学模式。首先,通过教师的讲解与演示,让学生对知识点有直观的认识;随后,教师会进一步解析...

    毕设&课设&项目&实训-软工课程的简易基础网页设计.zip

    可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,...

    南京工业职业技术学院(数控音频功率放大器实训报告).docx

    南京工业职业技术学院(数控音频功率放大器实训报告) 本报告是关于数控音频功率放大器的设计与制作的实训报告,涵盖了项目设计要求、芯片的选择、DXP2004 软件的介绍、项目的制作与调试等多个方面的内容。 一、项目...

    毕设&课设&项目&实训-基于ESP8266制作的软路由监视器.zip

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!...

    毕设&课设&项目&实训-软院2017级java课程期末大作业:拉帮结派沙雕音游.zip

    可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,...

    毕设&课设&项目&实训-利用体感摄像头对人体坐姿进行自动检测和矫正的软硬件结合项目。利用摄像头获取得到人体骨架信.zip

    可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,...

    C++实训项目.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备

    Java实训项目.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    毕设&课设&项目&实训-基于51单片机(STC89C52)和指纹识别模块(AS608)的指纹锁项目的全部软硬件资料.zip

    可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,...

    c++个人实训项目.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备

    毕设&课设&项目&实训-《软硬结合——从零打造物联网》 基于JS的物联网教程。.zip

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!...

    C#实训项目 五子棋游戏.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备

    C++实训项目(Qt).zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备

    2013年C++实训五子棋项目.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    Python 实训项目 - GUI 网上书城.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    python实训项目-豆瓣电影数据统计分析.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

Global site tag (gtag.js) - Google Analytics