Spring Boot+Spring Security:獲取用戶信息和session並發控制


Spring Boot+Spring Security:獲取用戶信息和session並發控制

 

說明

(1)JDK版本:1.8
(2)Spring Boot 2.0.6
(3)Spring Security 5.0.9
(4)Spring Data JPA 2.0.11.RELEASE
(5)hibernate5.2.17.Final
(6)MySQLDriver 5.1.47
(7)MySQL 8.0.12

 

一、獲取當前用戶信息

1.1 從頁面上顯示當前登陸的用戶名

 <h1>歡迎使用Spring Security!
      當前登錄賬號:<label th:text="${name}"></label>
,通過標簽設置: <label sec:authentication="name"></label>
</h1>

 

1.2 在程序中獲得當前登陸用戶對應的對象   

    @GetMapping({"","/","/index"})
    public String index(Model model) {
        Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        if("anonymousUser".equals(principal)) {
            model.addAttribute("name","anonymous");
        }else {
            User user = (User)principal;
            model.addAttribute("name",user.getUsername());
        }
        return "/index";
    }

 

二、session並發控制

       Session的並發控制主要通過sessionManagement來進行控制的。

2.1 設置session並發為1

       只要在WebSecurityConfig進行配置即可:

.and().formLogin().loginPage("/login")
.and().sessionManagement().maximumSessions(1)

 

歷史文章

214. Spring Security:概述

215.Spring Boot+Spring Security:初體驗

216.Spring Boot+Spring Security:基於內存的認證信息

217.Spring Boot+Spring Security:基於內存的角色授權

218.Spring Boot+Spring Security:基於內存數據庫的身份認證和角色授權

219.Spring Boot+Spring Security:基於MySQL數據庫的身份認證和角色授權

220.Spring Boot+Spring Security:自定義登錄頁面和構建主頁

221.Spring Boot+Spring Security:登出和403處理

222.Spring&nbsp;Boot+Spring&nbsp;Security:動態加載角色

223.Spring&nbsp;Boot+Spring&nbsp;Security:原理1

224.Spring Boot+Spring Security:自定義Filter

246.Spring Boot+Spring Security:頁面白名單和獲取登錄信息

13. Spring Boot+Spring Security:基於URL動態權限n種方案

248.Spring Boot+Spring Security:基於URL動態權限:准備工作

249.Spring Boot+Spring Security:基於URL動態權限:擴展access()的SpEL表達式

250.Spring Boot+Spring Security:基於URL動態權限:自定義AccssDesionManager

251.Spring Boot+Spring Security:基於URL動態權限:自定義Filter

252.Spring Boot+Spring Security:標簽sec:authorize的使用

 

我就是我,是顏色不一樣的煙火。
我就是我,是與眾不同的小蘋果。

 

à悟空學院:http://t.cn/Rg3fKJD

學院中有Spring Boot相關的課程!

SpringBoot視頻:http://t.cn/R3QepWG

Spring Cloud視頻:http://t.cn/R3QeRZc

SpringBoot Shiro視頻:http://t.cn/R3QDMbh

SpringBoot交流平台:http://t.cn/R3QDhU0

SpringData和JPA視頻:http://t.cn/R1pSojf

SpringSecurity5.0視頻:http://t.cn/EwlLjHh

Sharding-JDBC分庫分表實戰:http://t.cn/E4lpD6e


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM