`

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

分享到:
评论

相关推荐

    Springboot+SpringSecurity+SpringSession+Redis+Mybatis-Plus+Swwager.zip

    本项目“Springboot+SpringSecurity+SpringSession+Redis+Mybatis-Plus+Swwager”整合了Spring Boot、Spring Security、Spring Session、Redis、Mybatis-Plus以及Swagger等技术,旨在构建一个强大的、安全的、具有...

    spring security3 中文版本

    - **SecurityContextHolder, SecurityContext**:存储当前用户的认证信息和授权状态。 - **UserDetailsService**:用于加载用户的认证信息。 - **GrantedAuthority**:表示用户的权限信息。 - **验证**: - **...

    spring4+hiberante4+struts2+maven

    6. **安全控制**:通过Spring Security或者Struts2的安全插件,可以实现用户认证和授权,保护敏感资源。 7. **测试**:Spring和Hibernate提供了测试支持,如Spring Test和Hibernate Validator,可以帮助我们编写...

    Spring Boot 并发登录次数控制.docx

    本文将介绍如何在不使用Spring Security的情况下,通过Spring Boot结合JWT(JSON Web Token)、Redis以及Redisson来实现并发登录控制。 首先,我们需要理解并发登录控制的基本需求:当同一账号尝试多次登录时,系统...

    Spring Security3 张卫滨(译)

    7. **会话管理**:Spring Security提供了会话管理功能,包括会话固定攻击防护(Session Fixation Protection)、会话超时(Session Timeout)和并发会话控制(Concurrent Session Control)。 8. **记住我功能**:...

    Spring Security 权限控制中文API

    6. **会话管理(Session Management)**:Spring Security 还提供了会话管理功能,可以防止会话固定攻击(Session Fixation),并支持会话超时和并发会话控制。 7. **CSRF(跨站请求伪造)防护**:默认情况下,...

    springboot+druid+redis+swagger+security

    - 引入Spring Security进行用户认证和权限控制,确保应用的安全性。 综合以上,这个项目可能是一个完整的后端服务示例,展示了如何利用这些技术构建一个安全、高效、易维护的微服务应用。开发者可以通过分析"demo01...

    spring boot一对一聊天

    Spring Security可以与Spring Boot集成,提供用户认证和授权功能。 8. **前端实现**:前端通常使用JavaScript库如Stomp.js和SockJS与Spring WebSocket后端进行交互。这些库可以帮助浏览器与WebSocket服务器建立连接...

    SpringSecurity安全框架基础Demo

    这个"SpringSecurity安全框架基础Demo"旨在帮助开发者快速理解和实践Spring Security的核心功能。 **1. 用户认证** 在Spring Security中,用户认证主要由Authentication对象负责。当用户尝试访问受保护的资源时,...

    springsecurity3.0.5应用

    5. **Session Management**:Spring Security提供了会话管理策略,如限制同一用户并发会话的数量,防止会话固定攻击。 6. **CSRF防护**:为防止跨站请求伪造(Cross-Site Request Forgery)攻击,Spring Security...

    Spring security-包含官方文档

    7. **Session Management**:Spring Security 可以控制会话的最大并发数量,防止会话固定攻击,并提供会话超时和会话劫持的防护。 8. **国际化**:Spring Security 支持多语言,可以在认证失败和权限不足时显示不同...

    spring-security-4.0 jar包

    Spring Security提供会话管理功能,如会话固定保护(session-fixation-protection)、会话超时检测和并发会话控制。这些特性有助于防止会话劫持和会话固定攻击。 6. **CSRF保护**: 自4.0版本起,Spring Security...

    SpringSecurity_AlsoDB.rar

    - **Session Management**:Spring Security可以管理会话并发、超时和固定会话ID,增强安全性。 7. **与其他框架的整合** - **Spring Boot**:Spring Security与Spring Boot的集成简化了配置,提供了默认的安全...

    Spring Security 安全权限管理手册 PDF

    最后,手册还会涉及Spring Security的集成,如与Spring MVC、Spring Boot和Spring Data的配合使用,以及如何与其他Spring组件和外部系统(如LDAP、JDBC等)进行集成以实现身份验证和授权。 总的来说,《Spring ...

    spring_springweb_

    5. **会话管理(Session Management)**:Spring Security可以控制会话的创建、生命周期和并发控制,防止会话固定攻击。 6. **异常处理(Exception Handling)**:当安全规则不满足时,Spring Security会抛出相应的...

    SpringSecurity的配套示例源码

    - **会话管理(Session Management)**:控制会话的创建、销毁以及并发会话限制。 2. **配置SpringSecurity** - **XML配置**:传统上,SpringSecurity可以通过XML配置文件进行设置,但现在更推荐使用Java配置。 ...

    springsecurity教学代码.zip

    4. **会话管理(Session Management)**:Spring Security可以管理用户的会话,包括会话固定攻击防护(CSRF)、会话超时和并发会话控制等。 5. **访问决策管理(Access Decision Manager)**:当用户尝试访问受保护...

    Spring Security学习总结

    5. **会话管理**:Spring Security提供了会话管理功能,包括会话固定攻击防护(Session Fixation Protection)、会话超时检测以及会话并发控制。这些机制有助于保护用户会话不被恶意篡改或滥用。 6. **Remember Me...

    SpringBootSecurity.zip

    6. 用户信息和Session管理:在传统的Web应用中,Session信息通常存储在服务器内存中,但这种方法在高并发场景下可能面临挑战。这个项目选择将Session信息存储在数据库中,这有助于扩展性和高可用性。用户信息也存储...

    Spring Security 2.0 中文参考文档

    Spring Security提供会话管理功能,包括会话固定攻击防护(Session Fixation Protection)、会话超时管理和会话并发控制。 ### 6. **密码编码** Spring Security支持多种密码编码器,如MD5、SHA、BCrypt等,确保...

Global site tag (gtag.js) - Google Analytics