黑马程序员技术交流社区

标题: 【郑州校区】Java的新项目学成在线笔记-day16(十一) [打印本页]

作者: 谷粒姐姐    时间: 2019-6-19 10:59
标题: 【郑州校区】Java的新项目学成在线笔记-day16(十一)
4.2.2 redis连接配置
在认证服务的application.yml文件中添加如下配置:
[AppleScript] 纯文本查看 复制代码
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] 纯文本查看 复制代码
@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中的令牌。  
业务流程如下:


4.3.2 Api接口
[AppleScript] 纯文本查看 复制代码
@Api(value = "用户认证",description = "用户认证接口") public interface AuthControllerApi {   
    @ApiOperation("登录")   
public LoginResult login(LoginRequest loginRequest);   
   @ApiOperation("退出")  
   public ResponseResult logout();   }

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

[AppleScript] 纯文本查看 复制代码
auth:  
tokenValiditySeconds: 1200  
#token存储到redis的过期时间
  clientId: XcWebApp
  clientSecret: XcWebApp
  cookieDomain: localhost  
cookieMaxAge: ‐1








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2