vip1.4中,有个PermissionDirective类,使用方法是:
* #permission("/admin/project/edit")
* <a href="/admin/project/edit?id=#(x.id)">
* <i class="fa fa-pencil" title="修改"></i>
* </a>
* #end可是这个方法没有#else
在老大哥的指点下,扩展完毕:
config.java
@Override
public void configEngine(Engine me) {
// TODO Auto-generated method stub
me.addSharedObject("PermKit", new PermKit());
}public class PermKit {
public boolean has(String str){
Account account = AdminAuthInterceptor.getThreadLocalAccount();
if (AdminAuthService.me.isSuperAdmin(account.getId())) {
return true;
} else {
if (PermissionDirective.hasPermission(account.getId(), str)) {
return true;
}
}
return false;
}
}html:
<select class="form-control" #if(!PermKit.has("/admin/changUserStatus")) disabled="disabled" #end>AdminAuthService里面有两个方法,一个是判断是不是最高权限,另一个是查一下数据库判断这个角色拥有的权限。直接用vip-club的代码即可。