在 Spring 安全性中允许除一个之外的所有 URL
Posted
技术标签:
【中文标题】在 Spring 安全性中允许除一个之外的所有 URL【英文标题】:Allow all URLs but one in Spring security 【发布时间】:2016-07-22 19:59:15 【问题描述】:我只想保护一个 URL,同时允许匿名访问其他所有内容。
我在互联网上看到的 Java 配置示例似乎都表明您需要明确地 permitAll
每个 URL,并为需要保护的 URL 适当的 hasRole
。在我的情况下,这会创建一个非常笨拙的 Java 代码,每次我向应用程序添加新 URL 时都会修改它。有没有我可以使用的更简单的 java 配置。
还要注意,在我的情况下,我保护的 URL 是一个子资源,比如 employee/me
,我希望 employee/list
等可以匿名访问。
【问题讨论】:
【参考方案1】:如果您使用 Java 配置,您可以在 configure
方法中使用类似以下内容:
@Override
protected void configure(HttpSecurity http) throws Exception
http
.authorizeRequests()
.antMatchers("/employee/me").authenticated()
.antMatchers("/**").permitAll();
【讨论】:
谢谢,这行得通,我实际上给了一个错误的命令,导致它失败。以上是关于在 Spring 安全性中允许除一个之外的所有 URL的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring 中允许并发的正确 Bean 的 proxyMode 是啥?