ホームページ >Java >&#&チュートリアル >SpringBoot が SpringSession を統合して分散ログインを実装する方法
たとえば、2 つのドメイン名:
aaa.yupi.com
bbb.yupi.com
Cookie を共有したい場合は、yupi.com
SpringBoot は SpringSession を統合して分散ログインを実装します
redis を操作するために redis を紹介します:
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.6.4</version> </dependency>
セッションの自動保存を可能にする Spring-session と redis の統合を紹介しますRedis 内:
<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis --> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>2.6.3</version> </dependency>
Spring セッションのストレージ構成を変更します spring.session.store-type
デフォルトは none です。つまり、次の場所に保存されます。単一の Serverstore-type: redis、redis からの読み取りおよび書き込みセッションを示すredis: host: localhost port: 6379 session: timeout: 60 store-type: redis
Effect:
/** * @author 刘宇浩 */ @RestController @RequestMapping("/session") public class SessionController { public static final String key = "USERLOGINSTATE"; @GetMapping("/set") public Result setSession(HttpServletRequest request) { User user = new User(); user.setClassName("21软件3"); user.setName("lyl"); request.getSession().setAttribute(key, user); return ResultGenerator.genSuccessResult(200, "成功"); } @GetMapping("/get") public Result getSession(HttpServletRequest request){ User userloginstate = (User)request.getSession().getAttribute(key); System.out.println(userloginstate.getName()); System.out.println(userloginstate.getClassName()); return ResultGenerator.genSuccessResult(200,"成功"); } }
以上がSpringBoot が SpringSession を統合して分散ログインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。