我正在学习一些Spring Security教程,并试图在不使用xml的情况下实现它们,但我似乎找不到任何关于替换默认UsernamePasswordAuthenticationFilter的内容。
与此问题类似,我想从登录表单中检索一个额外的参数。我遇到困难的地方是:
<custom-filter ref="customAuthenticationProcessingFilter" position="FORM_LOGIN_FILTER"/>
为了正确设置它,我需要从AuthenticationManagerBuilder开始构建吗?还是我错过了什么?
感谢@Juan提供良好的文档链接。但您必须使用addFilterAt
而不是addFilterBefore
。
所以,这是正确的:
http.addFilterAt(new YourFilter(),UsernamePasswordAuthenticationFilter.class);
这将用自定义筛选器替换现有的默认实现。
根据这里找到的Spring Security文档:
http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ns-config.html#filter-stack
FORM_LOGIN_FILTER只是usernamepasswordtauthenticationfilter类的别名。
所以
http.addFilterBefore(new YourFilter(), UsernamePasswordAuthenticationFilter.class);
应该这样做
你可能会想知道系统提示您登录时登录表单从哪里来的,因为我们都没有提供任何的HTML或JSP文件。由于Spring Security的默认配置并没有明确设定一个登录页面的URL,Spring Security自动生成一个,基于这个功能被启用,使用默认URL处理登录的提交内容,登录后跳转的URL等等。 自动生成的登录页面可以方便应用的快速启动和运行,大多数应用程序都需要提供自己的登录页面。要做到这一点
请如果有人可以帮助我在配置他们一步一步,给我一个详细的答案。
到目前为止我们的 SecurityConfig 只包含了关于如何验证我们的用户的信息。Spring Security怎么知道我们想对所有的用户进行验证?Spring Security怎么知道我们需要支持基于表单的验证?原因是WebSecurityConfigurerAdapter在 configure(HttpSecurity http) 方法提供了一个默认的配置,看起来和下面类似: protec
第一步是创建我们的Java配置。这个配置在你的应用程序中创建一个springSecurityFilterChain 的Servlet的过滤器,负责所有安全(例如 保护应用程序的URL,验证提交的用户名和密码,重定向到登陆的表单等等)。你可以在下面找到大部分Java配置项的例子: import org.springframework.beans.factory.annotation.Autowire
我怎么能改变这个xml配置: 到目前为止的java代码配置我有这个我只有这部分的问题: 这就是我到目前为止在java代码中所拥有的: 这一行给我这个错误:
问题内容: 在我的Maven项目中,我有以下有效的POM: 此刻,在我的Eclipse IDE的“标记”选项卡中,出现此错误: 我尝试在项目的“构建”路径中(在Properties / Java Build Path中)修复此配置,但是当我运行“ Maven”>“更新项目”时,此选项的值返回到前一个。 我应该在哪里更改此选项以解决此错误? 问题答案: 转到项目并将Java库版本更改为 转到Ecli
问题内容: 我正在淘汰Java库中的所有硬编码值,并且想知道哪种框架最好(就零或接近零的配置而言)来处理运行时配置?我希望使用基于XML的配置文件,但这不是必需的。 如果您有框架方面的实践经验,请仅作答复。我不是在寻找例子,而是经验…… 问题答案: 如果您的硬编码值只是简单的键值对,则应查看java.util.Properties。它比xml简单得多,易于使用,并且实现起来很麻烦。 如果您正在使用
本文向大家介绍jersey Java Jersey配置,包括了jersey Java Jersey配置的使用技巧和注意事项,需要的朋友参考一下 示例 此示例说明了如何配置Jersey,以便您可以开始将其用作RESTful API的JAX-RS实现框架。 假设您已经安装了Apache Maven,请按照以下步骤设置Jersey: 创建Maven Web项目结构,在终端(Windows)中执行以下命令