使用权限标签控制View层展示的内容

图形学基础|球谐光照(Spherical Harmonics Lighting) 球谐光照(Spherical Harmonics Lighting) 文章目录球谐光照(Spherical Harmonics Lighting)一、前言二、球谐函数2.1 基函数2.2 投影与重建2.3 应用三、漫反射环境光3.1 IrradianceMap3.2 数学推导3.3 实践参考博文 一、前言 在学习图形渲染的过程中,一直對球谐函数(球谐光照)有一点了解,但没有亲手实现过。 关于球谐函数的数学概念是比较复杂的,笔者也实在无法完全理解,这篇文章只能从做东西的角度来说,公式是如何和代码进行对应的。 阅读详情
  在实际应用中,我们经常需要根据当前用户的操作权限来判断是否显示一新功能。如在论坛系统中,只有版主及管理才能删除贴子,因此在一般用户打开一个贴子的时候,就不需要出现“删除”这个连接。
  权限系统标签接口的设计,在大多数应用中,以下接口中两个方法基本能满足大多数需求。
public interface AuthorizationUtil {
 /**
  * 根据名称判断用户角色,从而判断用户是否刻有该权限.roleName可以是单独的名称,大小写可以任意.可以包含空格等.
  * 若要使用多个角色,可以使用+、|、~、,等符号来表示组合关系
  * 使用方法:#if($ROLE.is("ADMIN")) 删除#end
  * 或:#if($ROLE.is("AMDIN,Manager")) 删除所有#end 
  * @param roleName
  * @return
  */
 public boolean is(String roleName);
 /**
  * 判断一个用户是否对指定的对象有指定的操作权限
  * @param operation 操作,"del","create","update","read"等
  * 使用方法:#if($ROLE.is("del",$obj)) 删除该记录#end
  * @param obj 操作的对象
  * @return 如果具有操作权限
  */
 public boolean is(String operation,Object obj);
}

  在昨晚修改EasyJWeb的时候,在框架处理器中增加了一个全局Util的Map。同时增加了一个跟EasyJF的权限控制系统结合的AuthorizationUtil实现。下面是主要代码:
protected void createUtilContext(Context context) {
 Object authorizationUtil = FrameworkEngine.getContainer()
      .getBean(com.easyjf.util.AuthorizationUtil.class);
    if (authorizationUtil != null) {
     globalUtils.put("AUTH", authorizationUtil);
     globalUtils.put("ROLE", authorizationUtil);
    }
 }
  这样,在基于Spring2+JPA+EasyJWeb的应用中,可以在模板页面中使用下面的Velocity角本来进行权限控制。如:

   #if($AUTH.is("ADMIN")) 删除#end
 
  权限/角色的名称可以在系统运行的过程中自由设定。这样问题变得简单多了,不再需要访问底层的权限系统,也不在需要复杂的标签系统,就是调用这两个方法,而具这是在每一个展示的View中都开放的全局功能。
  当然,也可以扩展一下模板标签系统,使用 删除。当然我不喜欢后一种用法,因为总是会让页面人员把这个标签跟其它的标签搞混淆,而且也容易误删除,还是第一种方法看起直接,对于接受过我们半小时Velocity标签培训的页面制作及美工人员也应该会有同感。
 
  当然,如何让权限控制变得更加灵活,View层的使用更加方便直接、简易,想听听大家的看法。
 

Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1651586


保姆级教程:从AD导出Gerber到HFSS 3D Layout导入,搞定PCB电磁仿真全流程 本文提供从Altium Designer导出Gerber文件到Ansys HFSS 3D Layout导入的完整PCB电磁仿真流程指南。详细讲解Gerber文件导出设置、HFSS中的3D模型重建技巧,以及电磁仿真中的常见问题解决方案,帮助工程师高效完成高速电路和射频设计的性能验证。 阅读详情

相关推荐

保姆级教程:用YOLOv8/9/10搞定仪表盘指针识别,附完整数据集和Python环境配置

本文提供了一份基于YOLOv8/v9/v10的仪表盘指针检测全流程指南,涵盖环境配置、数据集构建、模型选型、训练调优和部署落地等关键步骤。通过详细的代码示例和实战经验,帮助开发者高效解决工业视觉中的仪表盘检测难题,特别适合电力巡检、智能监控等应用场景。

weixin_29031057的博客 1335

java 接口鉴权_Java 接口自动化系列--工具类之AuthorizationUtils接口鉴权封装

在实际的项目中,大部分接口都需要登录后获取到cookie/session/token后才能进行操作,可以使用cookie+session方式进行session鉴权,也可以进行token鉴权,本篇文章主要介绍token鉴权方法。先来看看什么是token?票据 --> 存储在客户端(浏览器)的header或者body中。一般只用来做鉴权存储用户相关信息。token是如何生成:服务端生成,携带在...

weixin_35135581的博客 1367

【HarmonyOS】ArkUI的组件扩展

ArkuI的组件扩展主要是通过等装饰器来对于一些常用的自定义组件进行封装, 来简化UI开发流程, 提高自定义组件的可复用性。

2302_79763237的博客 1166

Http请求Authorization认证

1、需求     a、对http请求进行访问权限设定     b、对特定请求方法进行拦截,统一进行权限认证 2、方案     自定义注解(用于控制哪些方法需要拦截),通过AOP在需要拦截的Controller方法进行统一拦截权限认证 3、代码     a、自定义注解   import java.lang.annotation.*; @Target({ElementType.PA...

GoodIdea 2万+

概率论 知识图谱 + 实战案例解析

本文通过构建概率论知识图谱,系统梳理了从随机试验、概率、条件概率到随机变量与分布的核心概念及其内在联系。结合朴素贝叶斯分类器和蒙特卡洛模拟等实战案例,深入解析了条件概率、独立性及大数定律等理论如何应用于机器学习与实际问题求解,旨在帮助读者建立结构化思维,将理论有效转化为解决实际问题的能力。

weixin_29051193的博客 267

用迅为RK3588开发板DIY无人机飞控:从电路设计到PID调参全记录

本文详细记录了使用迅为RK3588开发板DIY无人机飞控的全过程,从硬件选型、PCB设计到实时系统构建和PID调参。RK3588核心板凭借其强大的AI算力和丰富接口,成为高性能无人机控制解决方案的理想选择。文章还分享了视觉导航系统集成和实际飞行测试经验,为硬件爱好者提供实用参考。

weixin_29053577的博客 434

轻松把玩HttpClient之封装HttpClient工具类(三),插件式配置Header

上篇文章介绍了插件式配置HttpClient,本文将介绍插件式配置Header。为什么要配置header在前面已经提到了,还里再简单说一下,要使用HttpClient模拟请求,去访问各种接口或者网站资源,都有可能有各种限制,比如说java客户端模拟访问csdn博客,就必须设置User-Agent,否则就报错了。还有各种其他情况,必须的设置一些特定的Header,才能请求成功,或者才能不出问题。好了

崔成龙 . 勇往直前 2万+

7系列ZYNQ硬件调试:Vitis无法识别ARM DAP的排查与解决

本文针对7系列ZYNQ开发中Vitis无法识别ARM DAP的典型硬件调试问题,提供了系统性的排查与解决方案。文章深入剖析了问题本质,指出ARM DAP无法访问的核心原因在于PS部分的电源、时钟或复位等硬件基础条件未满足,并重点强调了PS参考时钟(如33.333MHz晶振)的完整性是关键排查点。通过从电源完整性、时钟与复位信号到JTAG连接与焊接的逐步硬件排查,并结合软件配置交叉验证,为开发者提供了清晰的故障定位思路与实战指南。

weixin_29280657的博客 626
上一篇: [挑战MVC极限]EasyJWeb-1.0特性之二-快速体验
下一篇: 5月26开源沙龙活动小记
techweb
博客等级 码龄19年 226粉丝 3842原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值