摘自
黑马,侵删。
HttpSecurity类方法
`antMatcher` 只对指定路径请求进行过滤
`authorizeRequests` 开启基于HttpservletRequest请求访问的限制
`formLogin` 开启基于表单的用户登录
`httpBasic` 开启基于HTTP请求的Basic认证登录
`logout` 开启退出登录的支持
`sessionManagement` 开启Session 管理配置
`rememberMe` 开启记住我功能
`csrf` 配置CSRF跨站请求伪造防护功能
返回值方法
authorizeRequests
`antMatchers` 开启Ant风格的路径匹配
`mvcMatchers` 开启MVC风格的路
`regexMatchers` 开启正则表达式的路径匹配
`and()` 功能连接符
`anyRequest()` 匹配任何请求
`rememberMe()` 开启记住我功能
`access` 匹配给定的 SpEL 表达式计算结果是否为 true
`hasAnyRole ` 匹配用户是否有参数中的任意角色
`hasRole ` 匹配用户是否有某个角色
`hasAnyAuthority` 用户是否有参数中的任意权限
`hasAuthority ` 匹配用户是否有某一个权限
`authenticated()` 匹配已经登录认证的用户
`fullyAuthenticated` 匹配完整登录认证的用户(非 rememberMe用户登录)
`haslpAddress` 匹配某IP地址的访问请求
`permitAll()` 无条件对请求进行放行
formLogin
`loginPage` 用户登录页面跳转路径
`successForwardUrl` 用户登录成功后的重定向地址
`successHandler` 用户登录成功后的处理
`defaultSuccessUrl` 用户登录成功后的跳转地址
`failForwardUrl` 登陆失败后重定向地址
`failureUrl` 用户登录后的跳转地址
`failureHandler` 用户登录失败后的错误处理
`usernameParameter` 登录用户的用户名参数,默认为 username
`passwordParameter` 登录用户的密码参数,默认为 password
`loginProcessingUrl` 登录表单提交的路径,默认为post请求的/login
`permitAll` 无条件对请求进行放行
logout
`logoutUrl` 出处理控制URL,默认为post请求
`logoutSuccessUrl` 用户退出成功后的重定向地址
`logoutSuccessHandler` 用户退出成功后的处理器设置
`deleteCookies` 用户退出后删除指定 Cookie
`invalidateHttpSession` 用户退出后是否立即清除Session (默认为false)
`clearAuthentication` 用户退出后是否立即清除Authentication(默认为true)
rememberMe
`rememberMeParameter` 指示在登录时记住用户的HTTP参数
`key` 记住我认证生成的Token令牌标识
`tokenValiditySeconds` 记住我Token令牌有效期,单位为s (秒)
`tokenRepository` 指定要使用的PersistentTokenRepostory,用来配置持久化Token令牌
`alwaysRemember` 是否应该始终创建记住我Cookie,默认为false
`clearAuthentication` 是否设置Cookie为安全的,如果设置为true,则必须通过HTTPS进行连接请求
csrf
`disable` 关闭Security默认开启的CSRF防御功能
`csrfTokenRepository` 指定要使用的CsrfTokenRepository ( Token令牌持久化仓库)。默认是由LazyCsrfTokenRepository 包装的HttpSessionCsrfTokenRepository
`requireCsrfProtectionMatcher` 指定针对什么类型的请求应用CSRF防护功能默认设置是忽珞GET、HEAD、TRACE和OPTIONS请求,而处理并防御其他所有请求
sessionManagement
摘自Session 会话管理 - 呵呵233 - 博客园 (cnblogs.com)
sessionCreationPolicy(SessionCreationPolicy.STATELESS) session生成策略
invalidSessionUrl(String invalidSessionUrl): 指定会话失效时(请求携带无效的 JSESSIONID 访问系统)重定向的 URL,默认重定向到登录页面。
invalidSessionStrategy(InvalidSessionStrategy invalidSessionStrategy):指定会话失效时(请求携带无效的 JSESSIONID 访问系统)的处理策略。
maximumSessions(int maximumSessions):指定每个用户的最大并发会话数量,-1 表示不限数量。
maxSessionsPreventsLogin(boolean maxSessionsPreventsLogin):如果设置为 true,表示某用户达到最大会话并发数后,新会话请求会被拒绝登录;如果设置为 false,表示某用户达到最大会话并发数后,新会话请求访问时,其最老会话会在下一次请求时失效并根据 expiredUrl() 或者expiredSessionStrategy() 方法配置的会话失效策略进行处理,默认值为 false。
expiredUrl(String expiredUrl):如果某用户达到最大会话并发数后,新会话请求访问时,其最老会话会在下一次请求时失效并重定向到 expiredUrl。
expiredSessionStrategy(SessionInformationExpiredStrategy expiredSessionStrategy):如果某用户达到最大会话并发数后,新会话请求访问时,其最老会话会在下一次请求中失效并按照该策略处理请求。注意如果本方法与 expiredUrl() 同时使用,优先使用 expiredUrl() 的配置。
sessionRegistry(SessionRegistry sessionRegistry):设置所要使用的 sessionRegistry,默认配置的是 SessionRegistryImpl 实现类。