12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.yaozhitech.spring5.service;
- import java.util.Arrays;
- import java.util.List;
- import org.apache.shiro.crypto.hash.Sha256Hash;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import com.yaozhitech.spring5.dto.UserDto;
- import com.yaozhitech.spring5.utils.JwtUtils;
- @Service
- public class UserService {
- @Value("${password.salt}")
- private String encryptSalt;
-
- @Value("${jwt.salt}")
- private String jwtSalt;
- /**
- * 保存user登录信息,返回token
- *
- * @param userDto
- */
- public String generateJwtToken(String username) {
- return JwtUtils.sign(username, jwtSalt, 3600); // 生成jwt token,设置过期时间为1小时
- }
- /**
- * 获取上次token生成时的salt值和登录用户信息
- *
- * @param username
- * @return
- */
- public UserDto getJwtTokenInfo(String username) {
- UserDto user = getUserInfo(username);
- user.setSalt(jwtSalt);
- return user;
- }
- /**
- * 获取数据库中保存的用户信息,主要是加密后的密码
- *
- * @param userName
- * @return
- */
- public UserDto getUserInfo(String userName) {
- UserDto user = new UserDto();
- user.setUserId(1L);
- user.setUsername(userName);
- user.setEncryptPwd(new Sha256Hash("123456", encryptSalt).toHex());
- return user;
- }
- /**
- * 获取用户角色列表,强烈建议从缓存中获取
- *
- * @param userId
- * @return
- */
- public List<String> getUserRoles(Long userId) {
- return Arrays.asList("admin");
- }
- }
|