NutzCN Logo
问答 用户执行一个动作之后,如何获取是否拥有权限
发布于 13天前 作者 naxxm 95 次浏览 复制 上一个帖子 下一个帖子
标签:

action通过注解的方式授权,当用户没有权限时,在后端如何将未授权信息return给其他的action呢?

9 回复

我看代码时直接返回给前端了,后端这么去获取呢?

"我看代码" ---> 啥代码????

// 修改密码
@At("/changePWD")
@Ok("json")
@AdaptBy(type = JsonAdaptor.class)
@RequiresPermissions("manager:query1")
public JSONResult changePWD(@Param("..") final JSONObject params, final HttpServletRequest request) {
String oldpassword = params.getString("oldpassword");
String password = params.getString("password");
Subject subject = SecurityUtils.getSubject();
ActiveUser activeUser = (ActiveUser) subject.getPrincipals().getPrimaryPrincipal();
Employee employee = dataService.getUserByBm(activeUser.getEmployeeBm());

       if (!ShiroPasswordUtil.getShiroPassword(oldpassword, employee.getAuthsalt(), 1024).equals(employee.getPassword())) {
         return JSONResult.errorMsg("旧密码不正确!");
       }

       String salt = NumberUtil.getStringRandom(6);

       employee.setPassword(ShiroPasswordUtil.getShiroPassword(password, salt, 1024));
       employee.setAuthsalt(salt);

       if (!dataService.updateMyDao(employee)) {
         return JSONResult.errorMsg("密码修改失败!");
       }
       ;

       return JSONResult.ok();//我想在这里自定义返回我的json格式,注解的好像直接就进不了了,主要想要前端处理json统一一些
    }

这个代码不合适,好像,就是想得到那个是否有权限的信息,自己去处理一下

意思就是,我调用这个action之后,没有权限的那个结果在哪儿去获取?

然后我自己拿到user.require.auth这个值,去处理下

ajax的结果里面有

嗯,本来想在后端去处理的,没找到方法,现在前端处理了已经,只是打破了我的统一的返回格式

可以继承或改成NutShiroProcessor成你需要的逻辑嘛

添加回复
请先登陆
回到顶部