package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.whyc.mapper.UserMapper;
|
import com.whyc.pojo.db_user.User;
|
import org.apache.shiro.authz.AuthorizationInfo;
|
import org.apache.shiro.authz.SimpleAuthorizationInfo;
|
import org.springframework.cache.CacheManager;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* 处理 shiro认证,授权,和数据库交互
|
*/
|
@Service
|
//Unified Naming
|
//@CacheConfig(cacheNames ={"userBridge"})
|
public class UserBridgeService {
|
|
@Resource
|
private UserMapper userMapper;
|
|
@Resource
|
private CacheManager cacheManager;
|
|
public User findPasswordByUserName(String name) {
|
User user = null;
|
QueryWrapper<User> queryWrapper = Wrappers.query();
|
queryWrapper.eq("name",name);
|
user = userMapper.selectOne(queryWrapper);
|
|
return user ==null?new User(0,"用户不存在"): user;
|
}
|
|
public User getUserByPhoneNumber(String phoneNumber){
|
QueryWrapper<User> queryWrapper = Wrappers.query();
|
queryWrapper.eq("phone_number",phoneNumber);
|
List<User> list = userMapper.selectList(queryWrapper);
|
return list.size()==0?new User(0,"用户不存在"):list.get(0);
|
}
|
|
/**
|
* TODO 采用caffeineCache重写
|
* @param user
|
* @return
|
*/
|
//@Cacheable(key = "#root.methodName+#p0.id")
|
public AuthorizationInfo getAuthorizationInfo(User user) {
|
System.out.println("=========执行了UserBridgeService.getAuthorization方法==========");
|
SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
|
//添加Roles和Permissions
|
//List<String> roles = findRolesByUserId(user.getUId());
|
//List<String> perms = findPermissionsByUserId(user.getUId());
|
|
//authorizationInfo.addRoles(roles);
|
//authorizationInfo.addStringPermissions(perms);
|
return authorizationInfo;
|
}
|
|
/* private List<String> findPermissionsByUserId(Long userId) {
|
*//* List<String> perms = rolePermissionMapper.findPermissionsByUserId(userId);
|
return perms;*//*
|
return null;
|
}
|
|
private List<String> findRolesByUserId(Long userId) {
|
//List<String> roles =userRoleMapper.findRolesByUserId(userId);
|
//roles.add("dev");
|
return null;
|
}*/
|
}
|