当前位置: 首页 > news >正文

网站建设流程中哪些部分比较重要久久建筑网如何下载资源

网站建设流程中哪些部分比较重要,久久建筑网如何下载资源,更改wordpress语言设置,电脑编程教学入门教程Filter顺序 Spring Security的官方文档向我们提供了filter的顺序#xff0c;实际应用中无论用到了哪些#xff0c;整体的顺序是保持不变的: ChannelProcessingFilter#xff0c;重定向到其他协议的过滤器。也就是说如果你访问的channel错了#xff0c;那首先就会在channel…Filter顺序 Spring Security的官方文档向我们提供了filter的顺序实际应用中无论用到了哪些整体的顺序是保持不变的: ChannelProcessingFilter重定向到其他协议的过滤器。也就是说如果你访问的channel错了那首先就会在channel之间进行跳转如http变为https。SecurityContextPersistenceFilter请求来临时在SecurityContextHolder中建立一个SecurityContext然后在请求结束的时候清空SecurityContextHolder。并且任何对SecurityContext的改变都可以被copy到HttpSession。ConcurrentSessionFilter因为它需要使用SecurityContextHolder的功能而且更新对应session的最后更新时间以及通过SessionRegistry获取当前的SessionInformation以检查当前的session是否已经过期过期则会调用LogoutHandler。认证处理机制如UsernamePasswordAuthenticationFilterCasAuthenticationFilterBasicAuthenticationFilter等以至于SecurityContextHolder可以被更新为包含一个有效的Authentication请求。SecurityContextHolderAwareRequestFilter它将会把HttpServletRequest封装成一个继承自HttpServletRequestWrapper的SecurityContextHolderAwareRequestWrapper同时使用SecurityContext实现了HttpServletRequest中与安全相关的方法。JaasApiIntegrationFilter如果SecurityContextHolder中拥有的Authentication是一个JaasAuthenticationToken那么该Filter将使用包含在JaasAuthenticationToken中的Subject继续执行FilterChain。RememberMeAuthenticationFilter如果之前的认证处理机制没有更新SecurityContextHolder并且用户请求包含了一个Remember-Me对应的cookie那么一个对应的Authentication将会设给SecurityContextHolder。AnonymousAuthenticationFilter如果之前的认证机制都没有更新SecurityContextHolder拥有的Authentication那么一个AnonymousAuthenticationToken将会设给SecurityContextHolder。ExceptionTransactionFilter用于处理在FilterChain范围内抛出的AccessDeniedException和AuthenticationException并把它们转换为对应的Http错误码返回或者对应的页面。FilterSecurityInterceptor保护Web URI进行权限认证并且在访问被拒绝时抛出异常。 自定义过滤器 除了这些过滤器外我们可能还需要在认证链路中自定义一些过滤器。 oauth2拦截器在初始化完成后共会生成三个拦截器调用链分别对应oauth/token等的oauth2认证拦截器调用链对resource资源访问的拦截器调用链springsecurity的拦截器调用链。 oauth2认证拦截器调用链 通过AuthorizationServerSecurityConfigurer的addTokenEndpointAuthenticationFilter()方法我们可以在BasicAuticaitonFilter前加入拦截器。 这个过滤器是在ClientCredentialsTokenEndpointFilter之后的所以如果想在ClientCredentialsTokenEndpointFilter过滤器之前加过滤器的话 我还没找到方法 Configuration public class OAuth2ServerFilterConfig extends AuthorizationServerConfigurerAdapter {Overridepublic void configure(AuthorizationServerSecurityConfigurer configurer) throws Exception {configurer.addTokenEndpointAuthenticationFilter(oauth2JsonClientAuthFilter());}private Filter oauth2JsonClientAuthFilter() {Oauth2JsonClientAuthFilter oauth2JsonClientAuthFilter new Oauth2JsonClientAuthFilter();oauth2JsonClientAuthFilter.setAuthenticationSuccessHandler(new AuthenticationSuccessHandler() {Overridepublic void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,Authentication authentication) throws IOException, ServletException {}});return oauth2JsonClientAuthFilter;} } 2. resource资源拦截器调用链 Configuration public class AuthResourceServerConfigurer extends ResourceServerConfigurerAdapter {Overridepublic void configure(ResourceServerSecurityConfigurer resources) throws Exception {super.configure(resources);}Overridepublic void configure(HttpSecurity http) throws Exception {http.authorizeRequests().anyRequest().authenticated();//这个是对所有url都进行拦截因为没设置发现只有对部分url生效http.requestMatcher(AnyRequestMatcher.INSTANCE);} } 3.springsecurity认证拦截器 public class WebSecurityConfig extends WebSecurityConfigurerAdapter {Beanpublic BCryptPasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}Overridepublic void configure(HttpSecurity http) throws Exception {//其余代码省略http.addFilterBefore(mutiLoginDemoFilter(httpSecurity), BasicAuticaitonFilter.class);} } 这里springsecurity的加入的过滤器都比addTokenEndpointAuthenticationFilter加入的过滤器执行晚,通过代码就可以看出 public final class HttpSecurity extendsAbstractConfiguredSecurityBuilderDefaultSecurityFilterChain, HttpSecurityimplements SecurityBuilderDefaultSecurityFilterChain,HttpSecurityBuilderHttpSecurity {Overrideprotected DefaultSecurityFilterChain performBuild() {//这里获取所有的拦截器filters.sort(comparator) 将所有的过滤器排序后返回filters.sort(comparator);return new DefaultSecurityFilterChain(requestMatcher, filters);}}public HttpSecurity addFilterBefore(Filter filter,Class? extends Filter beforeFilter) {comparator.registerBefore(filter.getClass(), beforeFilter);return addFilter(filter);}
http://www.w-s-a.com/news/123468/

相关文章:

  • 青浦门户网站网站推广烟台公司电话
  • 湖北荆门建设银行网站wordpress购物模板下载
  • 学ui+wordpress模板北京推广优化
  • 建分类网站得花多少钱深圳设计网站开发
  • 网站集群建设和网站集约化百度商桥怎么绑定网站
  • 青岛模板网站建设价格网络品牌网站建设
  • 网站建设的几大要素网站的做网站的公司
  • 怎么登陆自己的公司网站垂直电商网站建设
  • 温州微网站制作哪里有许昌网站建设哪家最好
  • 中国中小企业网站官网网页制作工具按其制作方式分 可以分为
  • 做资源下载网站违法吗河南企业做网站
  • 网站开发总体功能设计网站建设 北京昌平
  • 辽宁省高等级公路建设局网站书画院网站建设方案
  • 本地生活网站 源码重庆本地网站有哪些
  • 企业网站域名服务器国外html响应式网站
  • 东莞网站建设策划企业网站推广策划方法
  • 网站的图片怎么制作WordPress交互式网站
  • pc网站增加手机站什么专业学网页设计制作
  • 婚庆公司网站模板wordpress用什么框架
  • 高校网站建设的时效性长沙市网站建设
  • 合肥网站建设市场四川建设网官网住房和城乡厅官网官方
  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家