欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

背后SpringBoot做 劳务派遣信息管理系统 了非常多的配置

点击: 次  来源:宝鼎软件 时间:2017-09-26

原文出处: 徐靖峰

上一篇文章《Spring Security(二)–Guides》,通过Spring Security的设置项相识了Spring Security是如何掩护我们的应用的,软件开发,本篇文章对上一次的设置做一个讲授。

3 焦点设置解读

3.1 成果先容

这是Spring Security入门指南中的设置项:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
  @Override
  protected void configure(HttpSecurity http) throws Exception {
      http
          .authorizeRequests()
              .antMatchers("/", "/home").permitAll()
              .anyRequest().authenticated()
              .and()
          .formLogin()
              .loginPage("/login")
              .permitAll()
              .and()
          .logout()
              .permitAll();
  }
  @Autowired
  public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
      auth
          .inMemoryAuthentication()
              .withUser("admin").password("admin").roles("USER");
  }
}

当设置了上述的javaconfig之后,我们的应用便具备了如下的成果:

  • 除了“/”,”/home”(首页),”/login”(登录),”/logout”(注销),之外,其他路径都需要认证。
  • 指定“/login”该路径为登录页面,当未认证的用户实验会见任何受掩护的资源时,城市跳转到“/login”。
  • 默认指定“/logout”为注销页面
  • 设置一个内存中的用户认证器,利用admin/admin作为用户名和暗码,具有USER脚色
  • 防备CSRF进攻
  • Session Fixation protection(可以参考我之前讲授Spring Session的文章,防备别人改动sessionId)
  • Security Header(添加一系列和Header相关的节制)
  • HTTP Strict Transport Security for secure requests
  • 集成X-Content-Type-Options
  • 缓存节制
  • 集成X-XSS-Protection.aspx)
  • X-Frame-Options integration to help prevent Clickjacking(iframe被默认克制利用)
  • 为Servlet API集成了如下的几个要领
  • HttpServletRequest#getRemoteUser())
  • HttpServletRequest.html#getUserPrincipal())
  • HttpServletRequest.html#isUserInRole(java.lang.String))
  • HttpServletRequest.html#login(java.lang.String, java.lang.String))
  • HttpServletRequest.html#logout())
  • 3.2 解读@EnableWebSecurity

    我们本身界说的设置类WebSecurityConfig加上了@EnableWebSecurity注解,同时担任了WebSecurityConfigurerAdapter。你大概会在想谁的浸染大一点,先给出结论:毫无疑问@EnableWebSecurity起到抉择性的设置浸染,软件开发,软件开发,他其实是个组合注解,背后SpringBoot做了很是多的设置。