`
youyu4
  • 浏览: 449117 次
社区版块
存档分类
最新评论

Spring Security 之初体验

 
阅读更多

Spring Security 之初体验

 

Spring Security最大的作用

 

      1. 认证:通过前端传过来的userName、password,验证是否成功

      2. 授权:对login后的用户进行授权,再在对应的controller方法上加上访问权限

 

 

 

工作原理

 

       login成功后会返回一个叫SESSIONID的cookie给前端,前端每次请求的时候,都将这个cookie传给后端进行验证,看其有效性(session是否超时,服务器是否重启)。有效并且有权限就可以访问相应url,如果不行就报错。

 

 

 

优点

 

      1. 提供了一套权限框架,这套框架是可行的;

      2. 提供了很多用户身份认证功能,可以节约大量开发工作;

      3. 提供了角色判断功能,这点既是优点又是缺点;

      4. 提供了form-login、remember me等控制。

 

 

 

缺点

 

      1. 角色被“编码”到配置文件和源文件,这样最终用户就不能创建角色了。但最终用户期望自己来控制角色。因为在项目实施过程中,客户可能并不能确定有哪些角色,以及角色怎么分配给系统用户。角色大多需要等到系统上线后,才能确定。这些编码有:

          

          (1)url的权限控制,<intercept-url pattern="/**" access="ROLE_USER" />;

          (2)java方法的权限控制,@Secured("IS_AUTHENTICATED_ANONYMOUSLY");

          (3)java方法的权限控制,<protect method="set*" access="ROLE_ADMIN" />;

      

      2. RBCA这种被广泛运用的模型,没有在Spring Security体现出来;

 

      3. Spring Security没有提供好的细粒度(数据级)权限方案,提供的缺省实现维护工作量大,在大数据量情况下,几乎不可用;

      

      4. Spring Security对于用户、角色、权限之间的关系,没有提供任何一种维护界面。不过从Spring Security角度看,确实没有必要有界面。角色创建、角色和权限直接的关系,都被“编码”到配置文件和源文件了;

 

      5. Spring Security学习难度大,配置文件还是很多。我承认有很多高手,但我们也看到有很多新人加入软件开发领域。付出如此大的学习代价,获得这么一点点好处,个人觉得并不值得。

 

 

 

以后学习参考:

http://blog.csdn.net/column/details/springsecurity.html

http://www.iteye.com/blogs/subjects/spring_security

分享到:
评论

相关推荐

    spring-security初体验demo

    这个"spring-security初体验demo"很可能是为了帮助初学者理解如何在实际项目中集成和配置Spring Security。下面,我们将深入探讨Spring Security的核心概念、工作原理以及如何通过实践来设置一个简单的示例。 ...

    SpringSecurity初体验之手动配置用户名密码

    此文章是记录博主在学习springsecurity时的笔记 第一步 创建一个SpringBoot工程,勾选上需要的依赖。 第二步 创建一个名为securityconfig的配置类,该类基础了父类WebSecurityConfigurerAdapter(提供用于创建...

    从入门到高级实战-深度探索SpringSecurity安全框架视频.zip

    02.Spring Security 初体验 03.基于内存定义 Spring Security 用户 04.Spring Security 自定义表单登录 05.Spring Security 登录表单配置细节 06.Spring Security 表单登录源码 07.Spring Security 中的 JSON 交互 ...

    详解SpringBoot+SpringSecurity+jwt整合及初体验

    SpringBoot+SpringSecurity+jwt整合详解 SpringBoot是当前最流行的Java框架之一,它提供了便捷的方式来构建基于Web的应用程序。然而,在构建Web应用程序时,安全性是不可忽视的重要方面。因此,本文将详细介绍如何...

    springsecuritytotp:使用Google Authenticator登录Spring Security(基于时间的一次性密码算法,TOTP)

    在本文中,我们将深入探讨如何使用Google Authenticator与Spring Security集成,实现基于时间的一次性密码算法(TOTP)的双因素身份验证。这是一项重要的安全措施,它为应用程序提供了额外的安全层,防止未经授权的...

    《Spring-Boot入门初体验》-视频教程-示例项目源代码 -SBTest.zip数学建模

    在当今的软件开发领域,Spring Boot已经成为构建企业级应用的首选框架之一,它提供了快速开发、约定优于...《Spring Boot入门初体验》视频教程和示例项目源代码,是对Spring Boot感兴趣的开发者入门的最佳选择之一。

    Acegi(四):Acegi初体验及初解剖

    在初体验部分,博主可能会介绍如何设置Acegi以保护一个简单的Spring应用,包括配置Spring XML文件、定义安全拦截器(filter)以及创建用户凭证。 身份验证过程通常涉及用户登录,Acegi支持多种认证方式,如基于表单...

    univers-2.0:EE JavaEE,Vaadin框架,Spring,Spring Security,Spring Boot,Maven,JPA,JBoss-WildFly

    Spring Security是Spring框架的一个子项目,专注于安全控制,如身份验证、授权等,为Web应用提供了强大的安全保障。 Spring Boot是Spring框架的扩展,旨在简化Spring应用的初始设置和常规配置。它通过“起步依赖”...

    spring开发指南

    《Spring开发指南》是一本专为Java开发者设计的详尽教程,无论你是初涉Spring框架的新手,还是希望深入理解并提升Spring应用的老手,它都能提供宝贵的指导。Spring是Java领域中最流行的轻量级开源框架之一,以其模块...

    xfire 初体验

    《Xfire初体验:探索Java Web服务框架》 在IT领域,Web服务是软件系统间交互的重要手段,而Xfire则是早期流行的一款基于Java的Web服务框架。它为开发者提供了构建和消费Web服务的便捷工具,尤其在XML-RPC和SOAP协议...

    基于Spring Boot的留学服务管理平台的设计与开发.zip

    系统后端则充分利用了Spring Boot框架的优势,整合了Spring Data JPA进行数据持久化,利用Spring Security实现安全控制,以及利用Spring MVC处理用户的请求和响应。RESTful API的广泛应用,使得前后端分离开发成为...

    基于Spring Boot的个人博客系统设计与实现

    Spring Security可以用来实现用户认证和授权,确保博客系统的安全性。对于文章的分类与标签,可以使用树形结构或标签云来展示,提供灵活的文章组织方式。评论系统可以通过Ajax异步技术实现实时更新,提高用户体验。...

    128元尚硅谷Java视频教程_Spring Boot视频教程(下)整合篇

    4、尚硅谷-SpringBoot高级-缓存-@Cacheable初体验 5、尚硅谷-SpringBoot高级-缓存-缓存工作原理&@Cacheable运行流程 6、尚硅谷-SpringBoot高级-缓存-@Cacheable其他属性 7、尚硅谷-SpringBoot高级-缓存-@CachePut 8...

    【报告类】springboot vue基于Java的秦皇岛旅游景点管理系统1.docx

    系统开发之初,文章首先对传统旅游景点管理系统的功能特点和存在的问题进行了深入分析。传统系统通常面临用户体验不佳、系统扩展性差以及响应速度慢等问题,这些问题在很大程度上制约了旅游业的发展和游客的使用满意...

    SpringBoot电影院购票系统毕业设计

    系统设计之初,需要对整个购票流程进行分析。用户首先通过界面选择影片和场次,然后进行座位选择,接着添加观影人数,并进入支付环节。支付成功后,系统生成电子票据,用户可凭此票据观影。整个流程需要后端系统进行...

    springboot项目大学生入学审核系统的设计与实现.zip

    系统还应具备良好的扩展性和维护性,这意味着在系统设计之初就需要考虑未来的升级和维护工作。例如,通过模块化设计,使得各功能模块能够独立更新和维护,同时,设计良好的数据库架构和业务逻辑分层,有助于维护人员...

    springboot036海滨体育馆管理系统的设计与实现.zip

    系统设计之初,首先考虑的是用户需求。海滨体育馆作为一个综合性体育娱乐场所,不仅要满足于体育赛事的举办,还应涵盖健身、培训、休闲等多项功能。因此,系统需要具备用户管理、场馆预约、课程安排、设备监控、安全...

    springboot043基于springboot的“衣依”服装销售平台的设计与实现.zip

    平台的后端开发主要利用Spring Boot整合各种组件,如Spring Data JPA进行数据持久化操作,Spring Security实现安全控制,以及Spring MVC处理Web请求等。这些组件的使用大幅提高了开发效率,同时保证了系统的稳定性和...

    线上买菜系统.zip

    随着互联网技术的发展和人们生活节奏的加快,线上购物成为了一种流行趋势,...因此,在系统设计之初就应当进行市场调研,分析潜在用户的使用习惯和偏好,并在开发过程中持续收集用户反馈,不断优化系统功能和用户体验。

    基于vue的MOBA类游戏攻略分享平台--论文.zip

    在设计之初,就应考虑到使用微服务架构来分层管理不同的功能模块,这样不仅有利于系统后期的维护和扩展,也便于团队协作开发。 本平台不仅提供了一个MOBA类游戏攻略分享的场所,更为游戏玩家构建了一个互动社区,...

Global site tag (gtag.js) - Google Analytics