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的代码即可。