`

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的使用

 

我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。

 

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

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

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics