增加部分实现

This commit is contained in:
zhou-hao
2019-10-12 20:00:35 +08:00
parent 3b586cbbfd
commit 8ce58b3bec
53 changed files with 1079 additions and 428 deletions

View File

@@ -1,43 +1,15 @@
package org.hswebframework.web.authorization.basic.aop;
import org.hswebframework.web.authorization.Authentication;
import org.hswebframework.web.authorization.basic.configuration.EnableAopAuthorize;
import org.hswebframework.web.authorization.basic.web.GeneratedToken;
import org.hswebframework.web.authorization.basic.web.ReactiveUserTokenGenerator;
import org.hswebframework.web.authorization.basic.web.ReactiveUserTokenParser;
import org.hswebframework.web.authorization.token.ParsedToken;
import org.hswebframework.web.id.IDGenerator;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.reactive.context.ReactiveWebApplicationContext;
import org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.config.EnableWebFlux;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import reactor.core.publisher.Mono;
import java.util.Collections;
import java.util.Map;
@SpringBootApplication(exclude = {
WebMvcAutoConfiguration.class,
ServletWebServerFactoryAutoConfiguration.class,
DispatcherServletAutoConfiguration.class})
@SpringBootApplication
@EnableAopAuthorize
public class TestApplication {
public static void main(String[] args) {
SpringApplication application=new SpringApplication(TestApplication.class);
application.setApplicationContextClass(ReactiveWebServerApplicationContext.class);
application.run(args);
SpringApplication.run(TestApplication.class,args);
}
}

View File

@@ -1,65 +0,0 @@
package org.hswebframework.web.authorization.basic.aop;
import org.hswebframework.web.authorization.Authentication;
import org.hswebframework.web.authorization.AuthenticationManager;
import org.hswebframework.web.authorization.User;
import org.hswebframework.web.authorization.basic.web.GeneratedToken;
import org.hswebframework.web.authorization.basic.web.ReactiveUserTokenGenerator;
import org.hswebframework.web.authorization.basic.web.ReactiveUserTokenParser;
import org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration;
import org.hswebframework.web.authorization.token.ParsedToken;
import org.hswebframework.web.authorization.token.UserTokenManager;
import org.hswebframework.web.id.IDGenerator;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.util.Collections;
import java.util.Map;
@WebFluxTest(FluxTestController.class)
@RunWith(SpringRunner.class)
@Import(DefaultAuthorizationAutoConfiguration.class)
public class WebFluxTests {
@Autowired
private WebTestClient client;
@Autowired
private UserTokenManager tokenManager;
@Test
public void test(){
tokenManager.signIn("test","test-token","admin",10000).block();
client.get().uri("/test")
.header("token","test")
.exchange()
.expectStatus()
.isOk();
}
}

View File

@@ -1,5 +1,6 @@
hsweb:
users:
auth:
users:
admin:
username: admin
password: admin