- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 Spring 4 MVC + Security + Boot 项目中设置了一个自定义身份验证过滤器。过滤器的工作很好,现在我想禁用某些 URI 的安全性(如 /api/**
)。这是我的配置:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
@Override
public void configure(WebSecurity webSecurity) throws Exception {
webSecurity.ignoring().antMatchers("/api/**");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.addFilterBefore(filter, BasicAuthenticationFilter.class);
}
}
不幸的是,当我调用 /api/...
下的资源时,过滤器仍然是链接的。我在我的过滤器中添加了 println
并且它会在每次调用时写入控制台。你知道我的配置有什么问题吗?
更新
过滤代码:
@Component
public class EAccessAuthenticationFilter extends RequestHeaderAuthenticationFilter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("FILTER");
if(SecurityContextHolder.getContext().getAuthentication() == null){
//Do my authentication stuff
PreAuthenticatedAuthenticationToken authentication = new PreAuthenticatedAuthenticationToken(user, credential, authorities);
SecurityContextHolder.getContext().setAuthentication(authentication);
}
super.doFilter(request, response, chain);
}
@Override
@Autowired
public void setAuthenticationManager(AuthenticationManager authenticationManager) {
super.setAuthenticationManager(authenticationManager);
}
}
最佳答案
删除类 EAccessAuthenticationFilter 上的@Component,像这样:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.addFilterBefore(new EAccessAuthenticationFilter(), BasicAuthenticationFilter.class);
}
https://github.com/spring-projects/spring-security/issues/3958
关于java - Spring webSecurity.ignoring() 不会忽略自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39152803/
每次我用 Visual Studio 重新启动调试时,我都会收到这个奇怪的错误: You must call the "WebSecurity.InitializeDatabaseConnection
除了 AccountController.cs 文件中已经生成的内容,我无法让 WebSecurity 对象在任何地方工作。帐户 Controller 有 [InitializeSimpleMembe
当我们选择New Project --> MVC 4 --> Internet Application ,它会自动为我们生成AccountController。在这个 Controller 中,我只关
我在 MSSQL 中完成了一个项目。我将 MSSQL 迁移到 MySql,因为我认为 Webmatrix.WebData 也将支持 MySql。 WebSecurity 初始化成功。 if (!Web
我有一个连接到多个数据库的 c# mvc.net 应用程序。澄清一下,基于 url 的子域,应用程序将连接到特定的数据库。这是通过将 web.config 中的 defaultConnectionFa
在一个测试项目中,我使用的是 SimpleMembershipProvider 和 Entity Framework 5。测试项目使用 localdb 创建了一个数据库,但它突然停止工作了。我不确定发
我的情况 我正在 ASP.NET MVC4 应用程序中进行测试。我正在开发的应用程序部分将现代 WebSecurity/SimpleMembershipProvider 与正在逐步淘汰的遗留身份验证系
我创建了一个过滤器,在过滤器 super 构造函数中它需要一个 defaultFilterProcessesUrl。我通过 url /v1/** 选择了所有请求。 我需要不登录 /v1/users (
在我的项目中,我使用 WebSecurity 和 EF 代码优先迁移。 我有我的自定义 UserProfile 类,我想将其与 WebSecurity 结合。 我想在 Seed 方法的迁移配置类中为用
这可能是个愚蠢的问题,但我在 Google 上搜索得很辛苦,却找不到答案。 我正在创建一个数据库位于另一个大陆的网站,因此速度是一个至关重要的问题。 据我了解, WebSecurity.Login(
我正在编写一个 mvc 4 c# .net 4.5 网站 我想创建一个新的公司对象并注册一个链接到该公司的新用户。 我的账户模型是: [Table("UserProfile")] pu
我正在使用 WebMatrix 并建立了一个基于“StarterSite”的网站。在这个入门站点中,您将获得一个不错的基本布局 - 包括注册、登录、忘记密码页面等... 我注意到在数据库中“webpa
我正在使用 SimpleMembership ( http://blog.osbornm.com/archive/2010/07/21/using-simplemembership-with-asp.
对我在使用 WebSecurity 时遇到的所有奇怪异常感到有点失望。此外,与 OAuth 的糟糕集成并没有让它看起来更漂亮。考虑放弃这个概念并手动编写整个用户管理...... 无论如何,我正在使用
*You must call the "WebSecurity.InitializeDatabaseConnection" method before you call any other metho
我正在尝试扩展简单成员资格以包括名字、第二名和电子邮件地址,但是我在使用 CreateUserAndAccount 时遇到了一些问题。 所以基本上在 RegisterModel 中我添加了以下内容:-
我在我的 Spring 4 MVC + Security + Boot 项目中设置了一个自定义身份验证过滤器。过滤器的工作很好,现在我想禁用某些 URI 的安全性(如 /api/**)。这是我的配置:
我正在 Visual Studio 的示例 Web 应用程序中探索 ASP.NET MVC 的可能性 WebMatrix.WebData.WebSecurity 用于成员资格(创建帐户,并指定用户登录
在我基于版本 1.3.0.BUILD-SNAPSHOT 的 Spring Boot 应用程序中,我在 中有静态资源(图像、css、js) resources 下的 static 文件夹。 我看到了一些
谁能解释一下何时覆盖 configure(HttpSecurity)、configure(WebSecurity) 和 configure(AuthenticationManagerBuilder)?
我是一名优秀的程序员,十分优秀!