• Security版本冲突,老版本共用服务接入新版本服务


    公共服务security版本:

    新服务spring boot版本:2.2.8.RELEASE security版本:5.2.5.RELEASE

    因为会有版本冲突,所以需用处理

    首先注释掉新服务的seurity,然后在新服务上配置security

    增加web.xml引入,需要在web.xml中配置监听

    其次把新服务改为war包启动 

    public class IHomeApplication extends SpringBootServletInitializer {
    
        public final static Logger log = LoggerFactory.getLogger(IHomeApplication.class);
    
        public static void main(String[] args) throws UnknownHostException {
            ConfigurableApplicationContext applicatio = SpringApplication.run(IHomeApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(IHomeApplication.class);
        }
    }

    修改pom文件,增加插件和依赖:

    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-tomcat</artifactId>
       <scope>provided</scope></dependency>
    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <version>3.0.1</version>
       <scope>provided</scope></dependency>

    修改输出路径:

    配置session:

    引入共用服务的security

    <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>3.2.3.RELEASE</version><!--$NO-MVN-MAN-VER$-->
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>3.2.3.RELEASE</version><!--$NO-MVN-MAN-VER$-->
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>3.2.3.RELEASE</version><!--$NO-MVN-MAN-VER$-->
            </dependency>
          
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-cas</artifactId>
                <version>3.2.3.RELEASE</version><!--$NO-MVN-MAN-VER$-->
            </dependency>

    在resources目录下增加spring-security-cas.xml文件

    此时访问测试会有拦截

     还需要放开拦截并关闭csrf

    @Configuration
    public class BrowerSecurityConfig extends WebSecurityConfigurerAdapter {
        
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                    .csrf().disable()
                    .authorizeRequests()
                    .antMatchers("/hr","/test/**").permitAll()  //指定放开的路径,包括登录页面,样式路径,登录请求路径
                    .anyRequest().authenticated()
                    ;//其他地址的访问均需验证权限
        }
    }

    此时可以访问接口,接下来进行个性化配置,登录url等即可

  • 相关阅读:
    Netty指定分隔的字符
    Netty解决TCP粘包/拆包问题
    TCP粘包/拆包问题
    Netty5-应答服务器
    线程池中的线程的排序问题
    Java NIO 概述
    在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字
    OXM
    Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段
    linux 环境 tomcat 莫名奇妙挂掉
  • 原文地址:https://www.cnblogs.com/jiangwz/p/14383862.html
Copyright © 2020-2023  润新知