您当前的位置: 首页 >  spring

18分布式电商项目 - Spring Security框架

杨林伟 发布时间:2019-07-03 14:39:23 ,浏览量:3

SpringSecurity的入门例子已经上传至GitHub 地址:https://github.com/ylw-github/Spring-Security-Demo.git

Spring Security 简介

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

SpringSecurity 例子

创建工程 spring-security-demo 的Maven工程

1. pom.xml 内容:

	4.0.0
	com.pinyougou
	pyg-security-demo
	0.0.1-SNAPSHOT
	war
	
		4.2.4.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
			4.1.0.RELEASE
		
		
			org.springframework.security
			spring-security-config
			4.1.0.RELEASE
		
		
			javax.servlet
			servlet-api
			2.5
			provided
		
	

2.创建web.xml

	
	
		login.html
	
   
	
		CharacterEncodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
		  
            forceEncoding  
            true  
          
	
	
		CharacterEncodingFilter
		/*
		
	
  
  	springmvc
  	org.springframework.web.servlet.DispatcherServlet
  	
  	
  		contextConfigLocation
  		classpath:spring/*.xml
  	
  	1
  
  
  
  	springmvc
  	/
  
  
  
  
  
  	springSecurityFilterChain
  	org.springframework.web.filter.DelegatingFilterProxy
  
  
  	springSecurityFilterChain
  	/*
  
	

3.创建 spring 配置文件 springmvc.xml



    
    


4.创建 spring 配置文件 spring-security.xml


    
    
        
        
    
    
    
    
        
            
                
            
        
    

5.创建 index.html

此案例我们没有登录页,而是使用了系统自动生成的登陆页,效果如下: 在这里插入图片描述 构建登录页:





品优购登录页面


	
	用户名:
	密   码: 
	
	
	


6.构建登陆失败页 login_error.html,并添加 favicon.ico 到根目录(内容略) 7.修改 spring 配置文件 spring-security.xml









	
	
	
	
	

security=“none” 设置此资源不被拦截. login-page:指定登录页面。 authentication-failure-url:指定了身份验证失败时跳转到的页面。 default-target-url:指定了成功进行身份验证和授权后默认呈现给用户的页面。

csrf disabled=“true” 关闭 csrf ,如果不加会出现错误 在这里插入图片描述

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者 Session Riding,通常缩写为CSRF 或者 XSRF,是一种对网站的恶意利用。

如果你没有设置登录页 security=“none” ,将会出现以下错误. 在这里插入图片描述 always-use-default-target: 指定了是否在身份验证通过后总是跳转到 default-target-url 属性指 定的 URL。

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 3浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0841s