package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.whyc.mapper.PermissionMapper;
|
import com.whyc.mapper.RoleMapper;
|
import com.whyc.mapper.SecurityMapper;
|
import com.whyc.mapper.UserMapper;
|
import com.whyc.pojo.Permission;
|
import com.whyc.pojo.Role;
|
import com.whyc.pojo.User;
|
import org.apache.shiro.authz.AuthorizationInfo;
|
import org.apache.shiro.authz.SimpleAuthorizationInfo;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.LinkedList;
|
import java.util.List;
|
|
/**
|
* 处理 shiro认证,授权,和数据库交互
|
*/
|
@Service
|
public class UserBridgeService {
|
|
@Resource
|
private UserMapper userMapper;
|
|
@Resource
|
private RoleMapper roleMapper;
|
|
@Resource
|
private PermissionMapper permissionMapper;
|
|
public User findPasswordAndSlatByUserName(String userName) {
|
QueryWrapper<User> queryWrapper = Wrappers.query();
|
queryWrapper.select("id","password","salt").eq("name",userName);
|
try{
|
return userMapper.selectOne(queryWrapper);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new User(0,"用户不存在");
|
}
|
}
|
|
public AuthorizationInfo getAuthorizationInfo(User user) {
|
SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
|
//添加Roles和Permissions
|
List<String> roles = this.findRolesByUserId(user.getId());
|
List<String> perms = this.findPermissionsByUserId(user.getId());
|
|
authorizationInfo.addRoles(roles);
|
authorizationInfo.addStringPermissions(perms);
|
return authorizationInfo;
|
}
|
|
private List<String> findPermissionsByUserId(int userId) {
|
QueryWrapper<Permission> query = Wrappers.query();
|
List<String> perms = null;
|
return perms;
|
}
|
|
private List<String> findRolesByUserId(int userId) {
|
List<String> roles = null;
|
return roles;
|
}
|
}
|