- Session与Cookie的区别
李蕴Ronnie
1.存储位置不同Cookie的数据信息存放在客户端浏览器上Session的数据信息存放在服务器上2.存储容量不同单个Cookie保存的数据<=4kb,一个站点最多保存20个CookieSession容量没有上限,但出于对服务器端的性能考虑,Session内不要存放过多的东西,并且要设置Session删除机制3.存取方式不同
- Session、Cookies 和 Token 的关系详解
胡耀超
java面试常见问题java服务器数据库spring
前置博客:Session和Cookies的区别详解Session、Cookies和Token的关系详解在Web应用程序的身份认证和状态管理中,除了Session和Cookies,Token(特别是JSONWebToken,JWT)也经常用于用户身份验证。它们在身份认证过程中有一定的关系与区别。为了更好地理解三者之间的关系,我将详细分析它们的工作方式和适用场景,并探讨如何结合使用来构建一个健全的认证
- 「 网络安全常用术语解读 」同源策略SOP详解:没有SOP就没有隐私
全栈安全
安全术语web安全安全术语
同源策略可保护用户的隐私和数据安全,防止恶意网站通过跨域请求(例如,通过JavaScript)访问或修改其他网站的数据。1.同源策略产生背景当浏览器从一个域发送一个HTTP请求到另一个域时,与另一个域相关的任何cookies,包括身份验证会话cookie,也会作为请求的一部分发送。如果没有同源策略,如果你访问一个恶意网站,该网站将能够读取你的电子邮件、私人消息等。2.同源策略定义同源策略(Same
- 利用selenium获取cookies,实现浏览器免登陆自动化操作
crownyouyou
seleniumpythonchrome自动化
###一、设置默认源为国内的清华源(不想设置可跳过一)#查看pip安装源pipconfiglist#清华源pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple###二、下载json。(如果下载好json,可以跳过二)如果没下载json,可以使用pip下载pipinstalljson-i https://pypi.t
- leetcode--greedy
NOTEBOOK2
BestTimetoBuyandSellStockIIclassSolution{publicintmaxProfit(int[]prices){int[]deltas=newint[prices.length];for(inti=0;i0)ret+=v;}returnret;}}AssignCookiesclassSolution{publicintfindContentChildren(int
- 2019-07-16 Python接口测试实现获取登陆后的cookie访问下个接口
昨天今天下雨天1
coding:utf-8importrequestsurl="你的登陆接口"par={"mobile":"13225811329","passwd":"ws123456","from":"ios"}r=requests.post(url,data=par)s=requests.session()print(r.cookies)获取登录后的cookiecookies=r.cookiesurl1="你
- 前端中localStorage,sessionStorage,Cookies的区别
abytecoder
java
`localStorage`,`sessionStorage`,和`Cookies`是前端常用的存储数据的方式,它们之间有一些重要的区别:1.**作用范围**:-`localStorage`:数据存储在浏览器的本地,不会过期,除非手动清除或代码清除。-`sessionStorage`:数据在当前会话期间有效,关闭标签页或浏览器后数据将被清除。-`Cookies`:存储在客户端并随每个HTTP请求发
- JS 笔记
陈两全
javascript笔记前端
9.11.JS1.1.概念JavaScript是用于实现用户交互、动态控制文档的外观和内容、动态控制浏览器操作、创建cookies等网页行为的跨平台、跨浏览器的由浏览器解释执行的客户端脚本语言1.2.用途1.表单客户端验证;2.动态HTML(DHTML):不需要人为介入,就能自动实现动画效果。3.用户交互的动画效果:需要鼠标和键盘介入的动画效果4.动态添加一些网页内容5.动态的获取和改变html元
- Python之selenium,使用webdriver模拟登录网站(含验证码)
自动化测试 老司机
软件测试自动化测试pythonselenium功能测试压力测试测试工具程序人生
一、前言前段时间做了一个小项目,其中有一段需要自动获取网站后台的数据,但是这个网站没有任何提供给开发者的API,所以只能靠自己去探索。起初想着用发送请求的方式去模拟登陆,获取cookies,从而再获取网站后台数据,但是因为自己太菜了一些原因,放弃了这个方法。后来想到使用webdriver调用浏览器来模拟登陆,发现操作起来简单很多,而且可以达到同样的效果,于是便有了这篇文章。二、准备工作需要下载和安
- Python爬虫核心面试题2
闲人编程
程序员面试python爬虫开发语言面试网络HTTP
网络爬虫1.什么是HTTP协议?它有哪些常见的请求方法?2.在进行网络爬虫时,如何判断一个网站是否允许被爬取?3.在使用HTTP请求时,如何处理重定向?4.解释HTTP状态码200、404、500的含义。5.什么是Session?如何在爬虫中保持Session?6.在爬虫中,如何处理Cookies?7.解释什么是SSL/TLS?如何在爬虫中处理SSL证书验证?8.如何处理请求超时?9.什么是HTT
- springboot+shiro前后端分离过程中跨域问题、sessionId问题、302鉴权失败问题
DN金猿
springboot后端javashiro前后端分离
近期项目需要前后端分离,由于前后端分离后原来的适用的shiro配置无法满足现有系统要求。同时在前后端项目分离的项目中存在的跨域问题,cookies不再使用,通过token方式实现用户登陆鉴权。下面记录在整个过程中涉及的几个大问题:1、跨域问题2、sessionId问题3、302鉴权问题1、springboot跨域问题解决packagenet.sinorock.aj.common.config;im
- WebKit 的 Web SQL 数据库:现代浏览器的本地存储解决方案
2401_85763639
数据库前端webkit
WebKit的WebSQL数据库:现代浏览器的本地存储解决方案随着Web应用的不断发展,对本地存储的需求也日益增加。WebKit作为许多现代浏览器的核心引擎,提供了一种强大的本地存储解决方案:WebSQL数据库。本文将详细探讨WebSQL数据库的工作原理、支持情况以及如何利用它进行数据存储和检索。引言在Web开发中,数据存储是一个重要的环节。传统的解决方案如Cookies和LocalStorage
- php cookie刷新才有效,为什么设置了cookie必须刷新页面才有效?
weixin_39688870
phpcookie刷新才有效
1、Cookie工作原理?当客户访问某个基于PHP技术的网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在C:\DocumentsandSettings\用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样(如需了解head
- php怎么清空cookies,php cookie如何清除
樊愚
php怎么清空cookies
phpcookie的清除方法:首先创建一个PHP示例文件;然后通过setcookie创建cookie;最后通过“setcookie('test','',time()-3600);”方法清除建立的cookie即可。推荐:《PHP视频教程》本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品牌电脑。PHP清除COOKIE,PHP无法删除COOKIE?设置COOKIE有效期、COOK
- PHP Cookie
lly202406
开发语言
PHPCookieCookies是在Web开发中常用的一种技术,用于在用户浏览器中存储少量数据。在PHP中,Cookies用于跟踪用户的浏览行为,记录用户的偏好设置,或者在没有数据库支持的情况下存储用户信息。本文将详细介绍PHP中如何创建、读取、修改和删除Cookies。什么是Cookie?Cookie是一个存储在用户计算机上的小型文本文件,由Web服务器生成,并保存在用户的浏览器中。每当用户访问
- iOS 关于 Cookie 验证登录状态
路飞_Luck
1.第一次进入应用第一次进入应用,登录获取Cookie,此时如果用到的是AFN取获取接口数据,Cookie已经写入了,所以无需处理,每次请求的时候,会自动将该cookie传给后台去验证.2.将Cookie缓存到本地NSData*cookiesData=[NSKeyedArchiverarchivedDataWithRootObject:[[NSHTTPCookieStoragesharedHTTP
- 某麦网自动刷新抢票脚本——手机端
AALoveTouch
python
某麦网自动刷新抢票脚本——手机端小白操作-抵制黄牛–需要更好用更高级关注获取侵权删主要方法:get_cookie:打开大麦网官网,引导用户登录并保存登录后的cookies。set_cookie:载入之前保存的cookies,以实现自动登录。login:访问目标购票页面并设置cookie。enter_concert:根据提供的配置和参数打开浏览器,进入大麦网并登录,如果cookies不存在则获取并保
- 2024年用Python制作一个自动抢票脚本_python抢票脚本
2401_84563220
程序员python开发语言
self.driver.get(target_url)####获取cookiedefget_cookie(self):try:cookies=pickle.load(open(“cookies.pkl”,“rb”))#载入cookieforcookieincookies:cookie_dict={‘domain’:‘.damai.cn’,#必须有,不然就是假登录‘name’:cookie.get(
- Charles使用简介
mah93
简介Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信.这些包括request,response现HTTPheaders(包含cookies与caching信息).Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。可以在Charles官网下载(该软件为付
- Node.js开发-会话控制
中二Espresso
Node.js开发node.js
会话控制1)介绍2)cookie3)session4)session和cookie的区别5)token1)介绍所谓会话控制就是对会话进行控制HTTP是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端,无法区分用户而产品中又大量存在的这样的需求,所以我们需要通过会话控制来解决该问题常见的会话控制技术有三种:cookiesessiontoken2)cookiecookie是什么cook
- HTTP查阅手册地址
iuiyiyut
https://developer.mozilla.org/zh-CN/docs/Web/HTTP教程HTTP概述HTTP缓存HTTPcookiesHTTP访问控制(CORS)HTTP的演变Mozillaweb安全引导HTTP消息典型的HTTP会话HTTP/1.x中的连接管理参考文档HTTP首部HTTP请求方法HTTP状态返回码CSP指令工具与资源Firefox开发者工具MozillaObserv
- python提取字典数字_python cookies提取——从字符串到字典(一行Python代码)
weixin_39724362
python提取字典数字
defextract_cookies(cookie):"""从浏览器或者requestheaders中拿到cookie字符串,提取为字典格式的cookies"""cookies=dict([l.split("=",1)forlincookie.split(";")])returncookiesif__name__=="__main__":cookie="continue=http://www.bj
- axios.defaults.withCredentials = true 前端跨域传递Cookie设置
夏目友人帐...
vuecookiesession
登录之后的请求会带登录用户信息,需要把登录时的cookie设置到之后的请求头里面。而跨域请求要想带上cookie,必须要请求属性withCredentials=true,这是浏览器的同源策略导致的问题:不允许JS访问跨域的Cookie。withCredentials属性是一个Boolean类型,它指示了是否该使用类似cookies,authorization,headers(头部授权)或者TLS客
- Python requests模块 快速入门 这篇就够了
碎像
python开发语言
目录一、Requests概述二、安装Requests三、Get请求3.1Get请求示例3.2Get请求爬取二进制数据四、Post请求4.1Post请求示例4.2发送JSON数据五、验证Cookies六、会话请求一、Requests概述Requests是一个流行的Python第三方库,它专为HTTP通信而设计,旨在使网络请求更加简单和人性化。以下是关于Requests的概述:简单易用:Request
- 逆向模拟登录
林小果呀
python爬虫爬虫逆向
文章目录逆向模拟登录案例介绍滑块验证思路分析代码实现加密函数获取uid与cookies构建slideInfo并加密模拟完成滑块验证结果获取验证码思路分析代码整合获取bella发送请求代码总结登录逆向模拟登录案例介绍网站:https://user.qunar.com/passport/login.jsp用爬虫模拟完成滑块验证+获取验证码并登录滑块验证思路分析1)抓包可得在发送验证码前需要先完成滑动验
- cookies在chrome80版本上跨站发送失败
前端架构师陈龙威
原文冴羽大佬的github:https://github.com/mqyqingfeng/Blog/issues/157前言chrome80版本发布时间大概是2020年2月7日,其中更新了默认屏蔽第三方的cookie。这个事件当时造成了多困扰,很多iframe嵌套的内容,用户第三方授权,用户行为追踪等都受到了限制,淘宝还专门成立了问题小组来解决这个问题。情形天猫和飞猪的页面靠请求淘宝域名下的接口获
- Chrome开发者工具(DevTools)学习
盼旺
调出开发工具右键-检查9大功能图禁用缓存切换到Network网络面板勾选Disablecache项手动清理网站缓存1.Ctrl+shift+p弹出命令输入框2.输入clearsitedata此操作能清空Cookies、WebSQL、ServiceWorkers、CacheStorage、IndexedDB、LocalStorage、ApplicationCache展开某标签下所有层级的标签1.切换
- 360网络安全面试题汇总
Lyx-0607
笔记
防范常见的Web攻击重要协议分布层arp协议的工作原理rip协议是什么?rip的工作原理什么是RARP?工作原理OSPF协议?OSPF的工作原理TCP与UDP区别总结什么是三次握手四次挥手?tcp为什么要三次握手?dns是什么?dns的工作原理一次完整的HTTP请求过程Cookies和session区别GET和POST的区别HTTPS和HTTP的区别session的工作原理?http长连接和短连接
- Web UI自动化-获取接口返回数据
Jalinyz
场景:在进行UI自动化测试时解决验证码进行登录的方法有很多,比如:设置万能验证码手动登录后设置cookies绕过免登录进行切图,使用pytesseract和pillow实现验证码识别(这个只能解决一些不太复杂的验证码问题,识别率很低)切图后调用第三方AI库识别验证码(识别率高但是要花钱~~)除了以上我们常用的方法之外,这里给大家介绍另外一种方法,通过获取接口返回数据拿到验证码code解决:使用Br
- 某黑马magnet搜索接口
不脱发的码农~~~~
爬虫案例分享人工智能
importrequestscookies={'JSESSIONID':'ACC5D9245FC54596A57C4486CF2C0EA9','HstCfa4602665':'1707702051444','HstCla4602665':'1707702051444','HstCmu4602665':'1707702051444','HstPn4602665':
- jquery实现的jsonp掉java后台
知了ing
javajsonpjquery
什么是JSONP?
先说说JSONP是怎么产生的:
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;
2、
- Struts2学习笔记
caoyong
struts2
SSH : Spring + Struts2 + Hibernate
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller)
分层原则:单向依赖,接口耦合
1、Struts2 = Struts + Webwork
2、搭建struts2开发环境
a>、到www.apac
- SpringMVC学习之后台往前台传值方法
满城风雨近重阳
springMVC
springMVC控制器往前台传值的方法有以下几种:
1.ModelAndView
通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:
ModelAndView mv=new ModelAndView();
mv.setViewName="success
- WebService存在的必要性?
一炮送你回车库
webservice
做Java的经常在选择Webservice框架上徘徊很久,Axis Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。
但是为什么要使用xml呢?不能使json或者其他通用数据
- js年份下拉框
3213213333332132
java web ee
<div id="divValue">test...</div>测试
//年份
<select id="year"></select>
<script type="text/javascript">
window.onload =
- 简单链式调用的实现技术
归来朝歌
方法调用链式反应编程思想
在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用
这样的调用你可能在Ajax中,在页面中添加标签:
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result");
也可能在HQ
- JAVA调用.net 发布的webservice 接口
darkranger
webservice
/**
* @Title: callInvoke
* @Description: TODO(调用接口公共方法)
* @param @param url 地址
* @param @param method 方法
* @param @param pama 参数
* @param @return
* @param @throws BusinessException
- Javascript模糊查找 | 第一章 循环不能不重视。
aijuans
Way
最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下:
function search(){
var arr=new Array("my
- 狼和羊,该怎么抉择
atongyeye
工作
狼和羊,该怎么抉择
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说
- 读取android系统的联系人拨号
百合不是茶
androidsqlite数据库内容提供者系统服务的使用
联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢
关键代码:
1, 使用javabean操作存储读取到的数据
package com.example.bean;
/**
*
* @author Admini
- ORACLE自定义异常
bijian1013
数据库自定义异常
实例:
CREATE OR REPLACE PROCEDURE test_Exception
(
ParameterA IN varchar2,
ParameterB IN varchar2,
ErrorCode OUT varchar2 --返回值,错误编码
)
AS
/*以下是一些变量的定义*/
V1 NUMBER;
V2 nvarc
- 查看端号使用情况
征客丶
windows
一、查看端口
在windows命令行窗口下执行:
>netstat -aon|findstr "8080"
显示结果:
TCP 127.0.0.1:80 0.0.0.0:0 &
- 【Spark二十】运行Spark Streaming的NetworkWordCount实例
bit1129
wordcount
Spark Streaming简介
NetworkWordCount代码
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
- Struts2 与 SpringMVC的比较
BlueSkator
struts2spring mvc
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring
- Hibernate在更新时,是可以不用session的update方法的(转帖)
BreakingBad
Hibernateupdate
地址:http://blog.csdn.net/plpblue/article/details/9304459
public void synDevNameWithItil()
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran
- 读《研磨设计模式》-代码笔记-观察者模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
/**
* “观
- 重置MySQL密码
chenhbc
mysql重置密码忘记密码
如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似):
1、关闭MySQL服务
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL
mysqld --skip-grant-tables
3、新开一个CMD窗口,进入MySQL
mysql -uroot
 
- 再谈系统论,控制论和信息论
comsci
设计模式生物能源企业应用领域模型
再谈系统论,控制论和信息论
偶然看
- oracle moving window size与 AWR retention period关系
daizj
oracle
转自: http://tomszrp.itpub.net/post/11835/494147
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程.
SQL> select * from v$version;
BANNER
-------------------
- Python版B树
dieslrae
python
话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树...
首先是数据实体对象,很简单,只存放key,value
class Entity(object):
'''数据实体'''
def __init__(self,key,value)
- C语言冒泡排序
dcj3sjt126com
算法
代码示例:
# include <stdio.h>
//冒泡排序
void sort(int * a, int len)
{
int i, j, t;
for (i=0; i<len-1; i++)
{
for (j=0; j<len-1-i; j++)
{
if (a[j] > a[j+1]) // >表示升序
- 自定义导航栏样式
dcj3sjt126com
自定义
-(void)setupAppAppearance
{
[[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
[UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH
- 11.性能优化-优化-JVM参数总结
frank1234
jvm参数性能优化
1.堆
-Xms --初始堆大小
-Xmx --最大堆大小
-Xmn --新生代大小
-Xss --线程栈大小
-XX:PermSize --永久代初始大小
-XX:MaxPermSize --永久代最大值
-XX:SurvivorRatio --新生代和suvivor比例,默认为8
-XX:TargetSurvivorRatio --survivor可使用
- nginx日志分割 for linux
HarborChung
nginxlinux脚本
nginx日志分割 for linux 默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本 使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限
复制代码代码如下:
chmo
- Spring4新特性——泛型限定式依赖注入
jinnianshilongnian
springspring4泛型式依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- centOS安装GCC和G++
liuxihope
centosgcc
Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。
按照这个思路,我想安装过程如下:
安装gcc:yum install gcc
安装g++: yum install g++
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该
- 第13章 Ajax进阶(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- How to determine BusinessObjects service pack and fix pack
blueoxygen
BO
http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/
The table below is helpful. Reference
BOE XI 3.x
12.0.0.
y BOE XI 3.0 12.0.
x.
y BO
- Oracle里的自增字段设置
tomcat_oracle
oracle
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no 我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列
create table t
(
id number generated by default as identity (start with 1 increment b
- Spring Security(01)——初体验
yang_winnie
springSecurity
Spring Security(01)——初体验
博客分类: spring Security
Spring Security入门安全认证
首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置