java - 如何使用 Spring Security 注入默认安全标头
问题描述
我使用 Spring Security 5.1.6,并在此处阅读有关安全标头的信息;
Spring Security 允许用户轻松注入默认的安全标头来帮助保护他们的应用程序。Spring Security 的默认设置是包含以下标头:
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
X-XSS-Protection: 1; 模式=块
但是从这个文档看来,这些头文件似乎没有被隐式添加,所以我需要自己注入默认头文件。问题是,我可以在 spring-security.xml 中做到这一点,还是必须以其他方式做到这一点?
解决方案
据我了解,默认没有设置默认头,需要在spring-security.xml中包含这个:
<security:headers/>
对于您希望包含默认标题的任何模式。
例子:
<security:http pattern="/certainpage.html" use-expressions="true" request-matcher="regex" authentication-manager-ref="authManagerLink">
<security:http-basic/>
<security:intercept-url pattern="/certainpage.html" access="permitAll"/>
<security:headers/>
</security:http>
仅添加特定的安全标头是这样完成的:
<security:headers>
<security:frame-options policy="SAMEORIGIN"/>
<security:content-type-options disabled="false" />
<security:xss-protection enabled="true" block="true" />
</security:headers>
我在用<spring.security.version>5.1.6.RELEASE</spring.security.version>
推荐阅读
- vim - 有没有办法在vim中向上或向下复制选定区域?
- flutter - 如何在 Flutter 中更新现有文件(Path_Provider)
- r - 错误:连接到互联网时,如果没有互联网,天桥查询不可用
- php - 如何防止 Laravel 应用程序文件夹被搜索引擎索引
- slack - slack huddle 没有突然出现
- flutter - Flutter 中的 SearchDelegate:在 null 上调用了“where”方法
- html - 如何在引导手风琴的标题上添加按钮,以便单击它不会折叠或展开它?
- html - 反应性 R 闪亮与 HTML:NA 值保存问题
- ruby-on-rails - Rails 按键分组哈希数组
- nginx - ECS Nginx 网络设置