Spring Security还是很强大的,即支持粗粒度的访问控制,还能支持精确到web元素的的控制。
首先,spring配置中添加对security的支持:
其中定义了角色ROLE_ADMIN和ROLE_USER都能访问所有资源,但是只有ROLE_ADMIN能访问基于url为/jsp/admin/* 的资源。
如果form-login不做配置,则如果访问被拒绝的时候,会跳转到spring提供的一个login form。
form-login中 login-processing-url 配置的路径必须和web form中提交的url一致。
其中user-service配置了两种:
1.被注释掉的是基于jdbc的,这需要在数据库中创建几张表:
mysql> desc user_t;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id_f | int(11) | NO | PRI | NULL | auto_increment |
| name_f | varchar(100) | YES | | NULL | |
| password_f | varchar(32) | YES | | NULL | |
| status_f | int(11) | YES | | 1 | |
+------------+--------------+------+-----+---------+----------------+
mysql> desc role_t;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id_f | int(11) | NO | PRI | NULL | auto_increment |
| name_f | varchar(100) | YES | | NULL | |
| status_f | int(11) | YES | | 1 | |
+----------+--------------+------+-----+---------+----------------+
mysql> desc user_role_t;
+--------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+----------------+
| id_f | int(11) | NO | PRI | NULL | auto_increment |
| user_f | varchar(100) | NO | | | |
| role_f | varchar(100) | NO | | | |
+--------+--------------+------+-----+---------+----------------+
2.第二种基于配置文件的用户名密码管理,密码是md5加密的
下面是login form:
如果直接访问某个未授权的资源,会弹回这个登录页面,密码验证成功之后,跳转到之前访问的资源页面。
如果想指定web中某个按钮或者链接只在登录者具有admin权限的时候显示,可以这样:
下面是使用到的标签申明:
如果想使用https协议访问admin相关资源,可以这样:
首先,在修改security配置:
然后,修改tomcat配置文件server.xml
分享到:
相关推荐
**Spring Security 3 实践总结** Spring Security 是一个强大的安全框架,主要用于Java应用程序的安全管理,它为Web应用和企业级应用提供了全面的安全解决方案。在Spring Security 3版本中,该框架进一步增强了其...
《Spring Security 3.1 实践》 Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架,广泛应用于Java企业级应用中。在Spring Security 3.1版本中,它提供了一套全面的安全解决方案,涵盖了从用户...
Spring Security 实践指南 Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户...
这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...
在"SpringSecurity2Demo"这个项目中,我们可以预期看到以下组成部分: 1. **配置文件**: `spring-security.xml`,这是Spring Security的核心配置文件,包含了过滤器链的配置、用户认证源、授权规则等。 2. **控制...
通过对这些示例代码的学习和实践,开发者可以深入理解Spring Security 3的核心概念,并将其应用于实际项目中,确保应用程序的安全性。记得查看附带的使用文档,这将有助于理解和配置每个示例。同时,配合jar包,你...
教程文档则可能深入到实践操作,包括如何配置Spring Security、创建第一个安全应用、调试和测试安全设置,以及如何解决常见问题。通过学习这套文档和教程,开发者可以掌握Spring Security的核心原理,从而为自己的...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
3. **定制Filter**:在Spring Cloud Gateway中,我们可以自定义WebFlux Filter,利用Spring Security提供的API进行认证和鉴权。这通常涉及到`@PreAuthorize`和`@Secured`等注解的使用,以控制对特定路由的访问权限。...
Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中...通过学习和实践这个项目,开发者能够深入理解Spring Security的工作原理,从而更有效地保护自己的Java应用。
Spring Security 2.5虽然已经较为老旧,但其设计理念和核心机制仍然适用于现代的开发实践。理解并熟练掌握这个版本,有助于深入理解Spring Security的工作原理,并为升级到更高版本或使用其他安全框架打下坚实基础。
**Spring Security 3 全文下载** Spring Security 是一个强大且高度可定制的Java安全框架,主要用于处理Web应用的安全需求。在Spring Security 3版本中,该框架进行了大量的改进和优化,提供了更全面的安全控制,...
本资源包含Spring Security 3的官方文档中文版、权限管理手册中文版以及相关的教程,对于学习和理解Spring Security 3的功能和用法非常有帮助。 首先,让我们深入了解一下Spring Security的核心概念: 1. **身份...
**Spring Security 3 多用户登录实现详解** Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架,广泛应用于Java EE平台上的安全解决方案。在本文中,我们将深入探讨如何在Spring Security 3中实现...
3. **SpringBoot整合SpringSecurity** - `spring-boot-starter-security`依赖:SpringBoot项目中添加此依赖即可自动配置SpringSecurity。 - 自定义登录页面:通过设置`loginPage`和`loginProcessingUrl`属性,可以...
### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的安全性受到了前所未有的关注。为了应对这些挑战,Spring Security 应运而生,成为了一个非常重要...
Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,专为Java应用程序设计。它在Spring生态系统中...通过阅读提供的`spring_security_3.1.pdf`文档,你可以更深入地学习这个框架的细节和实践应用。
在构建基于 Spring Boot 3、Spring Security 6 和 Vue.js 3 的前后端分离式论坛系统时,我们涉及了现代Web开发的多个关键领域。这是一个综合性的项目,旨在利用最新的技术栈来创建一个高效、安全且用户体验良好的...