当前位置: 首页 > 知识库问答 >
问题:

URL和方法的Spring Security设置

益何平
2023-03-14
@Override
protected void configure(HttpSecurity http) throws Exception { 


  RequestHeaderAuthenticationFilter siteMinderFilter = new RequestHeaderAuthenticationFilter();
  siteMinderFilter.setPrincipalRequestHeader("SM_USER");
  siteMinderFilter.setAuthenticationManager(authenticationManager());

  http.addFilter(siteMinderFilter);  


  List<HttpMethod> methods = new ArrayList<HttpMethod>();
  methods.add(HttpMethod.GET);
  methods.add(HttpMethod.POST);
  methods.add(HttpMethod.PUT);
  methods.add(HttpMethod.DELETE);

 List<String> resources = new ArrayList<String>();
 resources.add("A");
 resources.add("B");
 resources.add("C");     
 ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry = http.authorizeRequests();

 for (HttpMethod method:methods){
     for (String resource: resources){
         String auth = "resource-"+resource+"-"+method.name();
         registry.antMatchers(method, "**/"+resource+"/**")
         .hasAuthority(auth);
     }
 }

  http = registry.and();
  http.formLogin();   

}

共有1个答案

罗鸿福
2023-03-14

过滤器不起作用的唯一原因是匹配器模式开始时缺少斜杠/:

代替这个

 registry.antMatchers(method, "**/"+resource+"/**") 

我应该写这个的

 registry.antMatchers(method, "/**/"+resource+"/**")
 类似资料:
  • 我在这里有很多问题要解决。一直试图将上述3项技术集成到我们的WebApp中…我们要使用 null web.xml: 我的servlet-context.xml: My manager-context.xml: 编辑2 我认为主要的问题是SpringSecurity需要webapp上下文(ContextLoaderListener)才能工作,但web应用程序是在servlet上下文中运行的。控制器方

  • 本文向大家介绍django反向解析URL和URL命名空间的方法,包括了django反向解析URL和URL命名空间的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍了django反向解析URL和URL命名空间,分享给大家,具体如下: 首先明确几个概念: 1.在html页面上的内容特别是向用户展示的url地址,比如常见的超链接,图片链接等,最好能动态生成,而不要固定. 2.一个django项目中

  • 本文向大家介绍destoon之URL Rewrite(伪静态)设置方法详解,包括了destoon之URL Rewrite(伪静态)设置方法详解的使用技巧和注意事项,需要的朋友参考一下 1、如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则。 规则(参考http://download.destoon.com/rewrite/htaccess.txt)为:

  • 本文向大家介绍java替换url的域名和端口方法,包括了java替换url的域名和端口方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇java替换url的域名和端口方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Git设置和取消代理的方法,包括了Git设置和取消代理的方法的使用技巧和注意事项,需要的朋友参考一下 参考: https://gist.github.com/laispace/666dd7b27e9116faece6 前提是你本地有 socks5 代理。 上面参考地址作者提供的配置无效,但是后面回复中的配置有效: 还有针对 github.com 的单独配置: 直接使用 socks5

  • 我正在学习springsecurity(基于java的配置),我无法使注销正常工作。当我点击注销时,我看到URL更改为http://localhost:8080/logout并获取“HTTP 404-/logout”。登录功能工作正常(即使使用自定义登录表单),但问题是注销,我怀疑重定向的url“localhost:8080/logout”应该类似于“localhost:8808/springte