jsf - Sping Security、JSF 2.2 和 CSRF 以及用于登录的支持 bean
问题描述
设想:
我有一个 JSF 2.2 应用程序,它与 Spring Boot (Joinfaces) 和 Spring Security 集成以进行登录。我读过 JSF 2.2 内置了 CSRF 保护(我们有一个基本的应用程序,支持 bean 视图范围):
https://arjan-tijms.omnifaces.org/p/jsf-22.html#869
也就是说 - 在登录页面上,我们有 4 个输入
- 用户
- 密码
- 下拉选择(从支持 bean 预加载)
- 下拉选择(根据输入 #3、ajax 填充)
我开始对在 Spring Security 中启用 CSRF 会发生什么感到好奇,并立即注意到 #4 中的下拉列表没有填充(网络中的 302 - 所以它似乎是 CSRF'd?)
但是 - 如果我在 Spring Security 中禁用 CSRF,它不是也在登录页面禁用它吗?那么我不能强制从另一个域登录吗?
@Override
protected void configure(HttpSecurity http) throws Exception
{
http.csrf().disable();
//http.csrf().ignoringAntMatchers("/pages/*");
}
有没有办法以某种方式允许对登录页面进行 CSRF 保护,允许 ajax 调用成功完成并填充输入 #4 并禁用所有其他视图?我意识到有一个 ignoreAntMachers 可以用于我的问题的最后一部分,但它可以用于登录,从而中断 ajax 调用以填充下拉列表。
解决方案
推荐阅读
- php - PHP选择具有相同ID的不同列
- arrays - 将 numpy.ndarray 中的两个单元格连接到一个单元格中
- json - vue js 数据设计策略 - 来自 API 的复杂 JSON 对象或具有 PK/FK 关系的简单 JSON 对象
- graalvm - GraalVM Polyglot 无法加载 Java 类
- flutter - 颤振导航到其他页面中的特定选项卡
- git - GitLab:防止推送分支,除非标记
- python - 对 csv 对象的列表理解
- html - 使用 Internet Explorer 的 Excel VBA 错误 462
- javascript - 如何导入有用但未使用的文件或文件夹
- python-3.x - 如何在 Windows 的 Anaconda 上的虚拟环境中安装和使用 PyOCR