Rumah > Java > javaTutorial > teks badan

Bagaimana SpringBoot menyepadukan SpringSession untuk melaksanakan log masuk teragih

王林
Lepaskan: 2023-05-10 20:34:04
ke hadapan
728 orang telah melayarinya

Perkongsian sesi

Sebagai contoh, dua nama domain:

  • aaa.yupi.com

  • bbb.yupi.com

  • Jika anda ingin berkongsi kuki, anda boleh menanam nama domain awam peringkat lebih tinggi, seperti yupi.com

Mengapa pelayan Selepas A log masuk, permintaan dihantar ke pelayan B. Adakah pengguna tidak mengenalinya?

Pengguna log masuk di A, jadi sesi (maklumat log masuk pengguna) wujud pada A.

Akibatnya, apabila meminta B, B tidak mempunyai maklumat pengguna, jadi ia tidak mengenali ia.

Bagaimana SpringBoot menyepadukan SpringSession untuk melaksanakan log masuk teragih

Penyelesaian

Storan kongsi dan bukannya meletakkan data dalam ingatan pelayan tunggal

Bagaimana SpringBoot menyepadukan SpringSession untuk melaksanakan log masuk teragih

SpringBoot menyepadukan SpringSession untuk melaksanakan log masuk teragih

Memperkenalkan redis untuk mengendalikan 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>
Salin selepas log masuk

Memperkenalkan penyepaduan sesi spring dan redis untuk membolehkan Simpan sesi automatik dalam 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>
Salin selepas log masuk

Ubah suai konfigurasi storan spring.session.store-type

Lalainya ialah tiada, yang bermaksud ia disimpan dalam satu Pelayan

jenis kedai: redis, menunjukkan sesi membaca dan menulis daripada redis

  redis:
    host: localhost
    port: 6379
  session:
    timeout: 60
    store-type: redis
Salin selepas log masuk

Kesan:

/**
 * @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,"成功");
 
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana SpringBoot menyepadukan SpringSession untuk melaksanakan log masuk teragih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan