【扩展】1.4vip-club权限校验#Permission #else 功能

vip1.4中,有个PermissionDirective类,使用方法是:

  1.  * #permission("/admin/project/edit")
  2.  *  <a href="/admin/project/edit?id=#(x.id)">
  3.  *       <class="fa fa-pencil" title="修改"></i>
  4.  *  </a>
  5.  * #end

可是这个方法没有#else

在老大哥的指点下,扩展完毕:

config.java

  1. @Override
  2. public void configEngine(Engine me) {
  3. // TODO Auto-generated method stub
  4. me.addSharedObject("PermKit", new PermKit());
  5. }
  1. public class PermKit {
  2.  
  3. public boolean has(String str){
  4. Account account = AdminAuthInterceptor.getThreadLocalAccount();
  5. if (AdminAuthService.me.isSuperAdmin(account.getId())) {
  6. return true;
  7. } else {
  8. if (PermissionDirective.hasPermission(account.getId(), str)) {
  9. return true;
  10. }
  11. }
  12. return false;
  13. }
  14. }
  1. html:
  2. <select class="form-control" #if(!PermKit.has("/admin/changUserStatus")) disabled="disabled" #end>


  1. AdminAuthService里面有两个方法,一个是判断是不是最高权限,另一个是查一下数据库判断这个角色拥有的权限。直接用vip-club的代码即可。


评论区

JFinal

2018-06-06 11:54

12 行代码搞定这个功能,干净利落,楼主潜力很大啊

fmpoffice

2018-06-07 08:56

@JFinal 是jfinal赋予的内在魅力!^_^

JFinal

2018-06-07 10:13

@fmpoffice jfinal 3.5 打算添加一个 AuthKit,里面添加 hasPermission 与 hasRole, 一个工具类搞定所有

阿强

2018-06-08 14:39

@JFinal hasRole绝对需要

热门分享

扫码入社