Shiro授权&注解式开发—SSM

目录

一.shiro授权角色,权限

授角色:用户具备哪些角色

授权限:用户具备哪些权限

1.1 Mapper层,Servlce层

1.2 授权的方法

           ​编辑

 测试:

二,Shiro的注解式开发


一.shiro授权角色,权限

数据库表中的数据

13704010feab47eb83a7901726996556.png

授角色:用户具备哪些角色

sql查询语句:

elect r.roleid from t_shiro_user u,t_shiro_user_role ur,t_shiro_role r
    where u.userid = ur.userid and ur.roleid = r.roleid
    and u.username = #{userName}

授权限:用户具备哪些权限

sql查询语句:

select p.perid from t_shiro_user u,t_shiro_user_role ur,t_shiro_role_permission rp,t_shiro_permission p
  where u.userid = ur.userid and ur.roleid = rp.roleid and rp.perid = p.perid
  and u.username = #{userName}

1.1 Mapper层,Servlce层

UserMapper.xml

角色
<select id="selectRoleIdsByUserName" resultType="java.lang.String" parameterType="java.lang.String">
  select r.roleid from t_shiro_user u,t_shiro_user_role ur,t_shiro_role r
    where u.userid = ur.userid and ur.roleid = r.roleid
    and u.username = #{userName}
</select>
权限
  <select id="selectParIdsByUserName" resultType="java.lang.String" parameterType="java.lang.String">
  select p.perid from t_shiro_user u,t_shiro_user_role ur,t_shiro_role_permission rp,t_shiro_permission p
  where u.userid = ur.userid and ur.roleid = rp.roleid and rp.perid = p.perid
  and u.username = #{userName}
</select>

 UserMapper

package com.ljj.ssm.mapper;
 
import com.ljj.ssm.model.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
 
import java.util.Set;
 
@Repository
public interface UserMapper {
    int deleteByPrimaryKey(Integer userid);
 
    int insert(User record);
 
    int insertSelective(User record);
 
    User selectByPrimaryKey(Integer userid);
    //通过 账户名 查询用户信息
    User queryUserByUserName(@Param("userName") String userName);
 
    //通过 账户名 查询对应的角色信息
     Set<String> selelctRoleIdsByUserName(@Param("userName") String userName);
 
     //通过 账户名 查询对应的权限信息
     Set<String> sel
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值