.and() 在像 HttpSecurity 这样的春季安全类中做了啥?有人帮我理解这个
Posted
技术标签:
【中文标题】.and() 在像 HttpSecurity 这样的春季安全类中做了啥?有人帮我理解这个【英文标题】:what does .and() do in spring security classes like HttpSecurity ? Someone help me to understand this.and() 在像 HttpSecurity 这样的春季安全类中做了什么?有人帮我理解这个 【发布时间】:2018-06-02 03:50:30 【问题描述】: @Override
protected void configure(HttpSecurity http) throws Exception
http
.addFilterAfter(new CsrfCookieGeneratorFilter(), CsrfFilter.class)
.exceptionHandling()
.authenticationEntryPoint(authenticationEntryPoint)
.and()
.rememberMe()
.rememberMeServices(rememberMeServices)
.key(env.getProperty("jhipster.security.rememberme.key"))
.and()
.formLogin()
.loginProcessingUrl("/api/authentication")
.successHandler(ajaxAuthenticationSuccessHandler)
.failureHandler(ajaxAuthenticationFailureHandler)
.usernameParameter("j_username")
.passwordParameter("j_password")
.permitAll()
.and()
.logout()
.logoutUrl("/api/logout")
.logoutSuccessHandler(ajaxLogoutSuccessHandler)
.deleteCookies("JSESSIONID")
.permitAll()
.and()
.headers()
.frameOptions()
.disable()
.authorizeRequests()
.antMatchers("/api/register").permitAll()
.antMatchers("/api/activate").permitAll()
.antMatchers("/api/authenticate").permitAll()
.antMatchers("/api/logs/**").hasAuthority(AuthoritiesConstants.ADMIN)
.antMatchers("/api/subscriptions").permitAll()
.antMatchers("/api/**").authenticated();
【问题讨论】:
您阅读过文档吗? 【参考方案1】:来自春天documentation:
表示关闭 XML 标记的 Java 配置等价物 使用 and() 方法,它允许我们继续配置 父母。如果您阅读代码,它也很有意义。我要配置 授权请求和配置表单登录和配置 HTTP Basic 身份验证。
因此,考虑您有多个配置,一个用于具有 admin 角色的用户,另一个用于 simple user 角色,将它们连接在一起,我们使用and()
方法。
而这项技术是builder design pattern
【讨论】:
非常感谢。我明白了 15年Java开发,官方文档里连“and”方法都找不到。 @Chuck check this 其实这个方法存在于很多类中,我分享的就是其中之一以上是关于.and() 在像 HttpSecurity 这样的春季安全类中做了啥?有人帮我理解这个的主要内容,如果未能解决你的问题,请参考以下文章
将整个 Javascript 文件包装在像“(function() ... )()”这样的匿名函数中的目的是啥?
android如何在像GMail这样的webview中显示PopupMenu
在像 bittorrent 这样的点对点协议的情况下,NAT 遍历是如何工作的。