栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springSecurity

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springSecurity

1.SpringSecurity 快速入门 1.1 Spring Security介绍

​ Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。(https://projects.spring.io/spring-security/) Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别是使用领先的J2EE解决方案-Spring框架开发的企业软件项目。人们使用Spring Security有很多种原因,不过通常吸引他们的是在J2EE Servlet规范或EJB规范中找不到典型企业应用场景的解决方案。特别要指出的是他们不能再WAR 或 EAR 级别进行移植。这样,如果你更换服务器环境,就要在新的目标环境进行大量的工作,对你的应用系统进行重新配 置安全。使用Spring Security 解决了这些问题,也为你提供很多有用的,完全可以指定的其他安全特性。

安全包括两个主要操作:

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

“授权”,指的是一个用户能否在你的应用中执行某个操作,在到达授权判断之前,身份的主体已经由身份验证过程建立了。

​ 这些概念是通用的,不是Spring Security特有的。在身份验证层面,Spring Security广泛支持各种身份验证模式, 这些验证模型绝大多数都由第三方提供,或则正在开发的有关标准机构提供的,例如 InternetEngineering Task Force.作为补充,Spring Security 也提供了自己的一套验证功能。

​ Spring Security 目前支持认证一体化如下认证技术: HTTP BASIC authentication headers (一个基于IEFT RFC 的标准) HTTP Digest authentication headers (一个基于IEFT RFC 的标准) HTTP X.509 client certificate exchange(一个基于IEFT RFC 的标准) LDAP (一个非常常见的跨平台认证需要做法,特别是在大环境) Form-based authentication (提供简单用户接口的需求) OpenID authentication Computer Associates Siteminder JA-SIG Central Authentication Service (CAS,这是一个流行的开源单点登录系统) Transparent authentication context propagation for Remote Method Invocation and HttpInvoker (一个Spring远程调用协议)

Maven依赖


    
        org.springframework.security
        spring-security-web
        5.0.1.RELEASE
    
	
        org.springframework.security
        spring-security-config
        5.0.1.RELEASE
    

1.2 Spring Security使用 第一步:新建Maven Web项目testSpringSecurity

新建resources文件夹,并标记为resources root

第二步:pom.xml



  
  4.0.0

  com.igeek
  testSpringSecurity
  1.0-SNAPSHOT
  war

  testSpringSecurity Maven Webapp
  
  http://www.example.com

  
    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}
    
      
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
  
    
  
    
      
      
        org.apache.maven.plugins
        maven-compiler-plugin
        3.2
        
          1.8
          1.8
          UTF-8
        
      
      
      
      
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        
          
          8899
          
          /
        
      
    
  

第三步:web.xml


  testSpringSecurity

  
    contextConfigLocation
    classpath:spring-security.xml
  
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  
  
    springSecurityFilterChain
    org.springframework.web.filter.DelegatingFilterProxy
  
  
    springSecurityFilterChain
    /*
  
  
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  

第四步:新建spring-security.xml配置文件

在resources下,新建spring-security.xml配置文件




    
    
        
        
    
    
    
    
        
            
                
                
            
        
    

第五步:测试

我们在webapp下创建一个index.html页面,在页面中任意写些内容。

​ 启动项目后,当我们访问index.html页面时发现会弹出登录窗口,可能你会奇怪,我们没有建立下面的登录页面,为什么Spring Security会跳到上面的登录页面呢?这是我们设置http的auto-config=”true”时Spring Security自动为我们生成的登录页面。

​ 测试结果:此时随便输入账户和密码会出现登陆失败;使用user账户和user密码才能登陆成功;使用admin账户和admin密码会出现403没有权限操作。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/697207.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号