| 
                         sso静态资源文件路径如图: 
  
2)拦截器
SpringMVC配置文件内容: 
拦截任何请求并且初始化参数,有些请求是不需要拦截的,有的请求登录后不需要经过权限校验直接放行。 
- <mvc:interceptors> 
 -     <mvc:interceptor> 
 -         <mvc:mapping path="/**" /> 
 -            <bean class="自定义拦截器PermissionInterceptor"> 
 -            <!-- 未登录即可访问的地址 --> 
 -           <property name="excludeUrls"> 
 -           <list><value>请求地址<value></list> 
 -           </property> 
 -           <!-- 只要登录了就不需要拦截的资源 --> 
 -           <property name="LogInExcludeUrls"> 
 -           <list><value>请求地址<value></list> 
 -           </property> 
 -          </bean> 
 -    </mvc:interceptor> 
 -  </mvc:interceptors> 
 
  
SpringBoot中添加拦截器只需继承WebMvcConfigurerAdapter,并重写addInterceptors方法即可。 
- /*** 拦截器 
 - * @param registry 
 - */ 
 - @Override 
 - public void addInterceptors(InterceptorRegistry registry) { 
 -    registry.addInterceptor(permissionInterceptor). 
 -            addPathPatterns("/**"); 
 -    super.addInterceptors(registry); 
 - } 
 
  
自定义的拦截器需要初始化一些参数,因此需要在注册拦截器之前注册,这里我们设置为懒加载。免登录拦截的路径,以及登录后不需要判断权限的路径都写在yml文件了,通过系统环境变量Environment获取值。 
- @Autowired  
 - @Lazy  
 - private PermissionInterceptor permissionInterceptor;  
 - @Autowired  
 - private Environment environment;  
 - /** 
 - * 
 - */ 
 - @Bean 
 - public PermissionInterceptor permissionInterceptor() { 
 - PermissionInterceptor permissionInterceptor = new PermissionInterceptor(); 
 - List<String> excludeUrls = Arrays.asList(environment.getProperty("intercept.exclude.path").split(",")); 
 - List<String> commonUrls = Arrays.asList(environment.getProperty("intercept.login.exclude.path").split(",")); 
 - permissionInterceptor.setCommonUrls(commonUrls); 
 - permissionInterceptor.setExcludeUrls(excludeUrls); 
 - return permissionInterceptor; 
 - } 
 
  
3)数据库和MyBatis配置                          (编辑:泰州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |