SpringSecurity


目录
  • SpringSecurity
    • SpringSecurity简介
    • 快速入门
    • 配置自定义登录页面
      • 创建login.jsp/error.jsp/success.jsp
      • 在spring-security.xml文件中进行配置

SpringSecurity

SpringSecurity简介

概述
? Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
? 它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI 和AOP(面向切面编程)功能
? 为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

重要概念
? 认证
? 是为用户建立一个他所声明的主体。主体一般是指用户,设备或可以在你系 统中执行动作的其他系统。

? 授权
? 指的是一个用户能否在你的应用中执行某个操作,在到达授权判断之前,身份的主题已经由身份验证过程建立了。
? 当前登录用户可以具有哪些权限

快速入门

  • 创建创建springSecurityPro项目(War工程)
  • 导入SpringSecurity的pom文件
 
    5.0.2.RELEASE
    5.0.1.RELEASE
  
  
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework.security
      spring-security-web
      ${spring.security.version}
    
    
      org.springframework.security
      spring-security-config
      ${spring.security.version}
    
    
      org.springframework.security
      spring-security-taglibs
      ${spring.security.version}
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
  
  • 在resources中创建配置spring-security.xml

配置信息

<?xml version="1.0" encoding="UTF-8"?>

    
    
        
        
    

    
    
        
        
            
            
                
                
                
            
        
    

参数说明

auto-config
	使用自带的页面
use-expressions
	是否使用spel表达式
	如果使用表达式:hasRole('ROLE_USER')
pattern
	配置拦截的请求地址
access
	可以访问的角色
noop
	是否使用加密 
authorities
	指定用户认证的角色,要用ROLE_开头
  • 配置web.xml
<?xml version="1.0" encoding="UTF-8"?>


  
  
    contextConfigLocation
    classpath:spring-security.xml
  
  
  
    org.springframework.web.context.ContextLoaderListener
  

  
  
    springSecurityFilterChain
    org.springframework.web.filter.DelegatingFilterProxy
  
  
    springSecurityFilterChain
    /*
  


配置自定义登录页面

创建login.jsp/error.jsp/success.jsp

login.jsp

登录页面

用户名:
密码:

error.jsp

登录失败

success.jsp

success 
退出

在spring-security.xml文件中进行配置