Spring Security 3中的@Secured和@PreAuthorize有什么区别?

杰罗姆VDL

对我来说,目前尚不清楚:

 @PreAuthorize("hasRole('ROLE_USER')")
 public void create(Contact contact)

@Secured("ROLE_USER")
public void create(Contact contact)

我了解PreAuthorize可以与spring el一起使用,但是在我的示例中,有真正的区别吗?

轴突

真正的区别是@PreAuthorize可以与Spring Expression Language(SpEL)一起使用您可以:

  • 的访问方法和属性SecurityExpressionRoot
  • 访问方法参数(需要使用debug info或custom进行编译ParameterNameDiscoverer):

    @PreAuthorize("#contact.name == principal.name")
    public void doSomething(Contact contact)
    
  • (高级功能)添加您自己的方法(覆盖MethodSecurityExpressionHandler并将其设置为<global-method-security><expression-handler ... /></...>)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Spring Security中向HttpSecurity和AuthenticationManagerBuilder注册身份验证提供程序有什么区别?

Spring Security:帐户锁定和未启用之间有什么区别

在Spring Security上下文中,身份验证和授权有什么区别?

绕过Spring Security @preauthorize

Spring Security @PreAuthorize或@PreFilter

Spring Security @Secured批注和用户权限

Spring Security @PreAuthorize带有AuthenticationSuccessEvent的注释

Spring Session和Spring Security

Spring Security和EnableGlobalMethodSecurity

Spring Security中的NoSuchBeanDefinitionException

Spring Security中的AuthenticationSuccessHandler

Spring Security 中的 PostMapping

Spring Tool Suite 3和4有什么区别?

了解permitAll()和匿名()在Spring Security的区别

Spring Security值得使用什么?

Spring Security和CAS集成

Spring Security和LDAP认证

Spring Security和REST API?

Spring Security和AOP问题

Spring Security和Angularjs登录

Spring MVC中@Controller和@RequestMapping有什么区别?

Spring Boot中的@ComponentScan和@EnableAutoConfiguration有什么区别?

Spring Boot中的/ *和/ **模式有什么区别?

Spring中ResponseEntity和HttpEntity有什么区别?

Spring MVC中的Controller和Handler有什么区别?

Spring Boot中的classpath和classpath *有什么区别?

Spring中的@Configuration和@Component有什么区别?

Spring MVC中的ApplicationContext和WebApplicationContext有什么区别?

spring boot中的Authentication和Authenticate有什么区别?