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配置 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|