All Projects → ainilili → defender

ainilili / defender

Licence: Apache-2.0 license
Role and permission management framework based on Spring-Boot

Programming Languages

java
68154 projects - #9 most used programming language

Defender

Build Status Maven Central License

Defender is a lightweight, flexible, and highly available permission framework that fully embraces spring-boot.If we need to make it easier to add permission management to the service on a daily basis, Defender is the Defender!

It eliminates the need to repeatedly write custom annotations and facets, and allows you to flexibly specify different patterns of defense networks by simply calling a simple API.

Quick start

Defender is easy to deploy in two steps, make sure your service USES the spring-boot technology stack before using it, and that you introduce spring-boot-starter aop and spring-boot-starter web modules.

Dependency

<dependency>
	<groupId>com.smallnico</groupId>
	<artifactId>defender</artifactId>
	<version>${defender.version}</version>
</dependency>

Configuration

    @Configuration
    @EnableDefender("* org.nico.trap.controller..*.*(..)")
    public static class DefenderTestConfig {
        @Bean
        public Defender init() {
            return Defender.getInstance()
                    .registry(Guarder.builder(GuarderType.URI)
                            .pattern("POST /user")
                            .preventer(caller -> caller.getRequest().getHeader("token") == null
                                    ? Result.pass() : Result.notpass("error")))
                    .ready();
        }
    }

Advance

Contributing

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].