# 取消安全认证(不推荐)

某些特殊场景下,应用不希望经过安全认证,即不接入SSO或者不需要应用内登录。 基于低代码的模版工程,进行如下配置。

# 调整 API 工程

# 1. 移除依赖

移除 spring security / spring oauth2 相关依赖,移除 fly-security 相关依赖。调整内容为:

  • 移除 dengine-security
  • 移除 spring-boot-starter-oauth2-resource-server
  • 移除 spring-boot-starter-oauth2-client
  • fly-starter-rest-all 排除 fly-starter-rest-oauth2 或 改为引入 fly-orm
  • fly-web 排除 spring-boot-starter-security、spring-security-oauth2-authorization-server
  • 检查其他依赖以及其传递依赖是否引用 security

模板工程调整后 dependencies 结果:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>cn.openfuse</groupId>
        <artifactId>fly-orm</artifactId>
        <version>${fly.version}</version>
    </dependency>
    <dependency>
        <groupId>cn.openfuse</groupId>
        <artifactId>fly-starter-rest-swaggerui</artifactId>
        <version>${fly.version}</version>
    </dependency>
    <dependency>
        <groupId>cn.openfuse</groupId>
        <artifactId>fly-web</artifactId>
        <version>${fly.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-oauth2-authorization-server</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>net.bingosoft.fuse.oss</groupId>
        <artifactId>lcdp-ide-ui</artifactId>
        <version>${lcdp.version}</version>
    </dependency>

    <!-- runtime -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- test -->
    <dependency>
        <groupId>cn.openfuse</groupId>
        <artifactId>fly-test</artifactId>
        <version>${fly.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

# 2. 调整config.yml

配置文件:api/src/main/resources/web/config.yml

# 关闭 login
login: false
# 删除/注释OAuth2相关配置
#oauth2.clientId: "${oauth2.client-id}"
#oauth2.serverUrl: "${oauth2.server-url}"
#oauth2.userInfo: "${oauth2.user-info-uri}"
#oauth2.iamapi: "${oauth2.iam-api}"
# 允许页面匿名访问
allowPageAnonymous: true

# 3. 其他配置

  • 若出现会自动跳转到spring security 内置的 /login 页面,可使用 @SpringBootApplication 注解排除 SecurityAutoConfiguration 配置类:
@SpringBootApplication(exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class})
...
public class WebApplication {
    ...
}
  • 删除或注释 @EnableWebSecurity 注解
  • 删除或注释 fly-web 的 @EnableWebApp 注解,并使用 @Import({WebConfigConfiguration.class,UIConfiguration.class}) 启用前端所需的菜单及配置接口

# 调整UI工程

# 路由配置

路由配置文件:ui/src/router/index.js ,在该文件里面找到 auth:true ,将它删除或者设置为 auth:false

{
  meta: {
    auth: true // 全局搜索,设置为false或者删除
  }
}

# 重新打包

配置调整完成后,需要重新构建前端工程以及重启后端工程。

顶部