Giter Site home page Giter Site logo

it9good / tutorial_watchdog-spring-boot-starter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yuequan1997/watchdog-spring-boot-starter

0.0 0.0 0.0 2.25 MB

Watchdog is an OAuth2 provider for Spring Boot

License: MIT License

Java 91.26% JavaScript 3.92% HTML 4.82%

tutorial_watchdog-spring-boot-starter's Introduction

logowatchdog-spring-boot-starter

Watchdog is an OAuth 2 provider for SpringBoot

starter基于spring-boot-starter-securityspring-security-oauth2上做的改进封装,能够快速的搭建出一个可管理的OAuth 2 provider

not recommended

在没有它之前你可能需要这样的硬编码或者使用RedisJDBC等之类的来做这件事情难以管理,扩展也不便太麻烦使用起来不优雅。

如何使用

工程下也有示例项目在smaple文件夹中

注意哟,Watchdog是从SpringBoot 2.1.0.RELEASE 上开发的,建议使用新的版本,使用低的版本可能会带来配置上的不一致而产生问题哦

执行项目根路径下面的schema.sql文件,创建所需的表,同时也欢迎大家来补充和扩展其它类型的数据库

pom.xml文件中引入依赖(由于刚推送到Maven Central有的仓库还没有同步可能还需要几个小时)

<dependency>
    <groupId>org.yuequan</groupId>
    <artifactId>watchdog-spring-boot-starter</artifactId>
    <version>0.8.2.BETA</version>
</dependency>

然后再启动类上配置@EnableWatchdog注解

@SpringBootApplication
@EnableWatchDog
public class WatchdogSampleApplication {
    public static void main(String[] args) {
        SpringApplication.run(WatchdogSampleApplication.class, args);
    }
}

配置好的你的PasswordEncoderauthenticationManager,类似于以下:

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private PasswordEncoder passwordEncoder;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser(User.withUsername("user_1").password(passwordEncoder.encode("123456")).authorities("USER"));
    }

    @Bean
    @Override
    protected AuthenticationManager authenticationManager() throws Exception {
        return super.authenticationManager();
    }

    @Bean
    public PasswordEncoder passwordEncoder(){
        return new BCryptPasswordEncoder();
    }
}

启动你的项目,输入网址http://localhost:8080/watchdog.html

index

show

可以点击授权重定向地址跳转到客户端认证授权,也可以复制client_idclient_secret进行token认证,例如http://localhost:8080/oauth/token?username=yourUser&password=yourPassword&grant_type=password&scope=DEFAULT&client_id=CLIENT_ID&client_secret=CLIENT_PASSWORD

update

create

delete

WatchdogUrlRegistryProvider

HttpSecurity进行扩展是最常见不过的事情了,所以Watchdog提供了一种很优雅的方式去扩展,如下:

@Component
public class AuthorizationProvider implements WatchdogUrlRegistryProvider {

    @Override
    public boolean configure(ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry config) {
        config.............
        return true;
    }
}

tutorial_watchdog-spring-boot-starter's People

Contributors

yuequan1997 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.