【问题标题】:Intercept-url for all_user and role_userall_user 和 role_user 的拦截 url
【发布时间】:2011-11-01 06:54:54
【问题描述】:

如果我使用 filters='none' 设置拦截 URL,每个人都可以访问它,但我无法获取 SecurityContextHolder.getContext().getAuthentication().getPrincipal(),即使用户已登录。(刚刚提到在http://static.springsource.org/spring-security/site/faq.html#faq-anon-access-denied)

另一方面,如果我设置 access='role_user',则只有经过身份验证的用户才能访问它。我想允许“未通过身份验证”和“经过身份验证”使用来访问 url 并使用 SecurityContextHolder.getContext().getAuthentication() 检查用户是否已通过身份验证。我应该如何在intercept-url中作为参数?

【问题讨论】:

  • 能否请您发布web.xml过滤器设置和spring安全配置的(相关部分)

标签: java spring spring-security


【解决方案1】:

在 SPRING 安全配置中使用 access "permitAll"

弹簧配置:

<http auto-config="true" use-expressions="true">
   <intercept-url pattern="/**" access="permitAll" />
</http>

【讨论】:

  • 我试过 不起作用。这在 spring3 中有效吗?
  • cometta:它应该在 Spring 3.0 和 Spring Security 3.0 中工作
  • 您是否指定了 use-expressions="true" 如示例所示?
猜你喜欢
  • 2011-03-27
  • 2011-04-24
  • 2015-04-17
  • 1970-01-01
  • 2011-09-04
  • 2017-10-02
  • 1970-01-01
  • 2021-12-22
  • 2011-07-11
相关资源
最近更新 更多