Spring Security 02
权限管理
配置不过滤的资源
方法1
<http pattern="/login.jsp" security="none"></http>方法2
<sec:http auto-config="true">
     <intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />配置表示允许匿名用户访问
</sec:http>
配置需要赋予权限才能访问的资源
<http auto-config="true">
		<!-- 表示访问app.jsp时,需要ROLE_ADMIN权限 -->
		<intercept-url pattern="/adminpage.jsp" access="hasRole('ROLE_ADMIN')"></intercept-url>
		<!--表示访问任何资源都需要ROLE_USER权限。 -->
		<intercept-url pattern="/**" access="hasRole('ROLE_USER')"></intercept-url>
</http>
自定义登陆登出页面
applicationContext-security.xml配置
<http auto-config="false" use-expressions="true">
		<!-- 具有ROLE_ADMIN权限的用户才能访问全部路径 -->
		<intercept-url pattern="/adminpage.jsp" access="hasRole('ROLE_ADMIN')"/>
		<!-- 具有ROLE_USER权限的用户才能访问全部路径 -->
		<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
		<form-login
			login-page="/login.jsp"
			login-processing-url="/j_spring_security_check"
			authentication-failure-url="/login.jsp"
			default-target-url="/index.jsp" />
		<csrf disabled="true" />
		<logout invalidate-session="true"
			logout-success-url="/login.jsp"
			logout-url="/j_spring_security_logout" />
</http>
- auto-config="true"时使用默认的配置,会配置十个默认过滤器:SecurityContextPersistenceFilter、LogoutFilter、
UsernamePasswordAuthenticationFilter、BasicAuthenticationFilter、RequestCacheAwareFilter、SecurityContextHolderAwareRequestFilter、
AnonymousAuthenticationFilter、SessionManagementFilter、ExceptionTranslationFilter、FilterSecurityInterceptor 
- login-page="/login.jsp" 表示使用login.jsp代替默认登陆界面。
 - login-processing-url="/j_spring_security_check" 使用spring-security 4.x版本必须添加该属性,表示登录表单提交路径。
 - authentication-failure-url="/login.jsp" 表示授权失败之后跳转到login.jsp界面。
 - default-target-url="/index.jsp" 表示授权成功之后默认跳转到index.jsp界面。
 - logout-url="/j_spring_security_logout" 表示退出操作要提交到的url。
 - logout-success-url="/login.jsp" 表示退出操作成功后跳转到的界面。
 
页面
- login.jsp
 
<html>
    <body>
        <form action="j_spring_security_check" method="POST">
            <input type="text" name="username"  /> </br>
            <input type="password" name="password" /> </br>
            <input type="submit" value="submit" />
        </form>
    </body>
</html>
- index.jsp
 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html lang="en">
<html>
<body>
<h2>this is a user page </h2>
<a href="${pageContext.request.contextPath}/j_spring_security_logout">退出登陆</a>
</body>
</html>
												
											Spring Security 02的更多相关文章
- Spring Security(02)——关于登录
		
目录 1.1 form-login元素介绍 1.1.1 使用自定义登录页面 1.1.2 指定登录后的页面 1.1.3 指定登录失败后的页面 1.2 http-basi ...
 - 02 spring security 自定义用户认证流程
		
1. 自定义登录页面 (1)首先在static目录下面创建login.html 注意: springboot项目默认可以访问resources/resources, resources/s ...
 - 使用 Spring Security 保护 Web 应用的安全
		
安全一直是 Web 应用开发中非常重要的一个方面.从安全的角度来说,需要考虑用户认证和授权两个方面.为 Web 应用增加安全方面的能力并非一件简单的事情,需要考虑不同的认证和授权机制.Spring S ...
 - 权限开发 spring security 3.0.7 序列1 数据库脚本
		
spring security 3 细粒度权限控制第一篇,关于权限的初始化测试数据库脚本. 空间脚本: drop user FrameworkTest cascade; drop tablespa ...
 - spring security oauth2 client_credentials模
		
spring security oauth2 client_credentials模 https://www.jianshu.com/p/1c3eea71410e 序 本文主要简单介绍一下spring ...
 - Spring Security原理与应用
		
Spring Security是什么 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置 ...
 - 使用spring security 2.0 和extjs 3.0实现web登录
		
使用spring security 2.0 和extjs 3.0实现web登录 1开发环境说明 本例使用MyEclipse 6.5作为开发工具,jdk1.5作为编译工具,tomcat6.0作为web运 ...
 - Spring Security认证提供程序
		
1.简介 本教程将介绍如何在Spring Security中设置身份验证提供程序,与使用简单UserDetailsService的标准方案相比,提供了额外的灵活性. 2. The Authentica ...
 - 转	 Spring Security 简介
		
https://blog.csdn.net/xlecho/article/details/80026527 Spring Security 简介 2018年04月21日 09:53:02 阅读数:13 ...
 
随机推荐
- sql server 中 like 中文不匹配问题
			
原文:https://blog.csdn.net/miao0967020148/article/details/71108056 MS-SQL Server select * from Book wh ...
 - MVC一个action对应多个视图的写法
			
一,如下代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...
 - 安装Erlang使用RabbitMQ
			
首先登陆官网进行下载:https://www.erlang.org/downloads/20.3 本次下载的版本是20.3,rabbitmq准备使用3.7.17版本 现在开始安装 因为是使用c#语言, ...
 - nginx windows 代理 80端口 500
			
今天准备配置一个nginx 用来代理80端口分别访问.net core 和spring boot 服务器 配置使用的最基本的代理配置 #user nobody; worker_processes 1; ...
 - Python---基础---list(列表)
			
2019-05-20 一. # append() 向列表末尾追加新元素 返回值Nonelist1 = [1,2,3,4,5]print(id(list1))list1.append(6)prin ...
 - 安卓环境home assistant搭建
			
准备搞个智能家居玩玩 先从home assistant(后面简写为HASS)开始吧 莫得树莓派,拿旧手机凑活一下 准备材料: root过的安卓机 一.安卓机Linux环境搭建 个人习惯不详细写基础环境 ...
 - Prefix
			
Prefix 南昌邀请赛的题,字典树 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll A[]; ...
 - Flutter端代码
			
新建一个页面FirstScreen.dartmain.dart改动代码 导入import 'dart:ui' as ui;import 'package:flutter_module/FirstScr ...
 - Search Engine Hacking – Manual and Automation
			
Search Engine Hacking – Manual and Automation Ethical Hacking Boot Camp OUR MOST POPULAR COURSE! CLI ...
 - 前端工具-调试压缩后的JS(Source Map的使用)
			
使用 Source Map 可以在 FF 的调试器. Chrome 的 Sources 和 VSCode 中给压缩前的文件下断点,也可以方便定位错误发生的位置(定位到压缩前的文件). 何为 Sourc ...