Java的新项目学成在线笔记-day16(十一)

4.2.2 redis连接配置 
在认证服务的application.yml文件中添加如下配置:

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

spring:   application: 

   name: xc‐service‐ucenter‐auth

  redis:  

  host: ${REDIS_HOST:127.0.0.1}

    port: ${REDIS_PORT:6379}  

  timeout: 5000 #连接超时 毫秒 

   jedis:  

    pool:   

     maxActive: 3    

    maxIdle: 3   

     minIdle: 1    

    maxWait: 1 #连接池最大等行时间 ‐1没有限制


4.2.3 测试 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

@SpringBootTest @RunWith(SpringRunner.class) public class RedisTest {   

 @Autowired  

  private StringRedisTemplate stringRedisTemplate; 

   @Test

    public void testRedis(){   

     //定义key 

       String key = "user_token:9734b68f‐cf5e‐456f‐9bd6‐df578c711390";  

      //定义Map   

     Map<String,String> mapValue = new HashMap<>();  

      mapValue.put("id","101");    

    mapValue.put("username","itcast");  

      String value = JSON.toJSONString(mapValue);   

     //向redis中存储字符串   

     stringRedisTemplate.boundValueOps(key).set(value,60, TimeUnit.SECONDS);  

      //读取过期时间,已过期返回‐2      

  Long expire = stringRedisTemplate.getExpire(key);  

      //根据key获取value     

   String s = stringRedisTemplate.opsForValue().get(key);  

      System.out.println(s);

    }


4.3.1 需求分析 
认证服务需要实现的功能如下:
1、登录接口
前端post提交账号、密码等,用户身份校验通过,生成令牌,并将令牌存储到redis。 将令牌写入cookie。
2、退出接口
校验当前用户的身份为合法并且为已登录状态。
将令牌从redis删除。
删除cookie中的令牌。  
业务流程如下:

Java的新项目学成在线笔记-day16(十一)_第1张图片 
4.3.2 Api接口 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

@Api(value = "用户认证",description = "用户认证接口") public interface AuthControllerApi {  

    @ApiOperation("登录")   

 public LoginResult login(LoginRequest loginRequest);   

   @ApiOperation("退出") 

   public ResponseResult logout();   }


4.3.3 配置参数 
在application.yml中配置参数
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

6

7

auth: 

 tokenValiditySeconds: 1200 

#token存储到redis的过期时间

  clientId: XcWebApp

  clientSecret: XcWebApp

  cookieDomain: localhost 

 cookieMaxAge: 1

你可能感兴趣的:(JAVA)