3.SSM-Project-Day06 shiro框架-用户登录授权操作。八、严重问题:shiro不识别授权方法【配置问题】

一、修改ServiceImpl二、ShiroUserRealm-【Service】 @Autowired private SysUserRoleDao sysUserRoleDao; //根据用户查看角色 @Autowired private SysRoleMenuDao sysRoleMenuDao; //根据角色查看菜单 @Autowired...
摘要由CSDN通过智能技术生成

一、修改ServiceImpl

//    修改用户的valid
//user-->admin-->{"sys:user:valid","sys:user:update"}
//此注解由shiro定义
//借助此注解定义访问此方法需要什么权限
    @RequiresPermissions("sys:user:valid")
    @Override
    public int validById(Integer id,
                         Integer valid,
                         String modifiedUser) {
        //1.参数有效性校验
        if(id==null||id<1)
            throw new IllegalArgumentException("id值无效");
        if(valid==null||(valid!=1&&valid!=0))
            throw new IllegalArgumentException("valid值不正确");
        if(StringUtils.isEmpty(modifiedUser))
            throw new IllegalArgumentException("修改用户不能为空");
        //2.禁用启用操作
        int rows=sysUserDao.validById(id, valid, modifiedUser);
        if(rows==0)
            throw new ServiceException("记录可能已经不存在");
        //3.返回结果
        return rows;
    }

二、Controller 把传递固定的username改为动态获取

//    根据id查用户名
    String findUsernameById(Integer id);
<!--根据id查用户的名字-->
    <select id="findUsernameById" parameterType="int" resultType="string">
        select username
        from sys_users
        where id=#{id}
    </select>
//  根据id查用户名
    String findUsernameById(Integer id);
//    禁用启用用户
//    ==用户不能传值,是获取来的 [暂时没有登录模块所以传一个固定值]
    @RequestMapping("doValidById")
    @ResponseBody
    public JsonResult doValidById(Integer id,Integer valid){
        String username = 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值