首页 > 其他分享 >测试

测试

时间:2022-08-21 08:56:17浏览次数:56  
标签:return 游客 private 测试 new 老人 public

      此博客绝赞施工中......
      to be continued......

  “封印...竟然解开了!”

  海风袭来了缠绵,却吹不落老人眼里的惊恐。

  “老人家,什么封印?”游客见老人面色古怪,不禁好奇的问道。

  “我的上帝!是她!是她!她又出来了!又出来了!”老人目光呆滞的看向大海的另一端,嘴里喃喃念道。

  老人的举动,更加引来游客的好奇,又追问道:“她?她又是谁?老人家,您再说什么?”

  老人呆呆的望了游客一眼,忽然,老人凶光大闪,干枯的双手狠狠抓向游客的手腕,老人拿捏之准,出招之快,游客没有丝毫反应,命门便被老人死死扣住。

  游客心中一惊:“这老头竟然会使武当擒拿手!”

  老人厉声道:“都怪你!都怪你!你知不知道,你犯下了滔天大罪!滔天大罪啊!”

  游客道:“什么滔天大罪,不就是打坏一个玻璃杯么?有什么打紧的,我赔你一个便是了。你一直抓着我的手干嘛,我有男朋友的!”

  老人甩开了游客的手腕,道:“哼!一个玻璃杯!你知道这个玻璃杯里面装的是什么吗!你赔得起吗!”

  游客道:“是什么?”

  老人道:“里面是…”老人说到一半便止住了。

  游客道:“到底是什么?”

  老人眼神空洞,仿佛这瞬间又苍老了几十岁,缓缓道:“罢了罢了,不关你的事,是我糊涂。你快走!赶紧走!走得越远越好!”

  游客见老人面色凄苦,心中也是不忍,柔声道:“老人家,到底发生什么事情了?您告诉我,我毕业于新东方武术学院甜品系,并且专注小面二十年,做过的糍粑能绕地球两圈,从小老师便教导我们要讲文明,懂礼貌,助人为快乐之本,况且老人家您武功那么高强,您有什么难题可以告诉我,说不定我们可以一起解决。”

  老人听了游客的一番话,僵硬的面容挤出一丝笑容,道:“小伙子,谢谢你。但这件事情不是你我二人可以解决的,你还是赶紧走吧,再不走就来不及了。”

  游客听了老人此言,也不强人所难,道:“也罢,那老人家,我就先走了,我看您面色不好,我在国内有一位朋友,他精通医道,毕业于蓝翔技校音乐专科,是我国著名的反法西斯音乐家,如果您感觉打野有什么难处,我可以介绍给您认识。”

  老人一听到“蓝翔技校”四个字,眼神散发出一道强烈的希望之光,再一次抓住游客的手,急道:“小伙子,你说的那人,是不是擅长正手反打,反手全垒打,原地踏步走落地无水花,号称冰天雪地三百六十度不穿内裤叼根烟旋转无死角的詹姆斯铁柱?”

  游客正色道:“正是!”

  “如果是他,那么有救了,有救了!我们村儿有救了!”老人老泪纵横,喜极而泣,又道:“敢问小兄弟,你能不能立刻将那位高人请来,什么条件我都尽力满足,我代表波罗的海狗蛋村全体村民,谢谢您的救命之恩。”老人说着,便朝游客跪下。

  “老人家快快请起!我这便用BB机传呼他。”

  过了片刻, 游客笑道:“老人家莫要担心,我朋友已经收到传呼,现在正在订机票,坐拖拉机过来,两天就到了。”

  老人这才放下心来,双手不停的做着祷告:“感谢CCT…不对,是感谢上帝。”

  老人祷告还未做完,原本风光明媚的海滩忽然变得阴沉起来,温柔的海风也变得狰狞,苍穹之上,一朵巨大的乌云伴随着雷鸣之声笼罩而来,一副“黑云压城城欲摧”的可怕光景。

  老人脸色剧变,喝道:“她来了!她来了!你还愣着干什么,快走啊!你快走!想不到她来得如此之快!”

  “想走?哼哼,已经来不及了!”一个女人的声音随海风而来,这声音仿佛能穿透一切,压着巨浪之声,回荡在天地之间,散发着令人恐惧的威压。

  这一刻,老人惊呆了,游客吓尿了,游客一屁股坐倒在地,颤声道:“这…这是什么东西。”

  老人此刻面色平静,心如止水,冷冷道:“便是你打坏了玻璃杯中释放出来的恶灵。”

  游客吼道:“你TM在逗我吗?一个玻璃杯里面还封印恶灵?玄幻小说看多了吧!”

  老人道:“这不是玄幻,是真人真事,是地地道道的本土人,自己讲自己的故事。”

  “尼玛这是我们重庆卫视《雾都夜话》的开场白,这TM也抄袭,有没有公德心啊吗喂。”游客彻底暴走了!

  老人道:“现在还有心情说笑,如果你那位朋友来,兴许还可以抵挡,但眼下只有我和你,九死一生!适才我叫离开,你不愿意,现在想走也走不了。没关系,黄泉路上正好可以做伴。”

  游客站起身来,定了定神,面色也不似先前恐慌,沉声道:“既然如此,那便战吧!除魔卫道,也是我新东方的宗旨。”游客对着天空中那团黑云,大喝一声:“来吧,德玛西亚,人在塔……”

  游客还未说完,一股巨浪袭来,结结实实的拍在游客身上,游客咒声大骂:“我靠,你是娜迦请来的逗比么!”

  此时天边乌云涌动,汇聚成一道女人摸样的人形,随即传来一道冰冷的声音:“结束了。”

  铺天盖地的海啸,夹杂着风雨雷电席卷而来,在这令人绝望的力量面前,任何人力都显得徒劳。游客和老人放弃了抵抗。

  在这千钧一发之际,天空之上,一道金光闪动,在这金光的笼罩之下,整个空间,甚至时间都凝固了。

  此时,天空之上传来一道人声,人声每说一个字,天空便凝聚出一个金色的字体。

  “蓝!翔!技!校!皆!阵!列!在!前!”

  人声轻轻一吐:“挖掘技!”

  随即九个金色大字,幻化成九条金龙。

  “土次方绞杀!”

  顿时,九条金龙一声龙吟,如果方才恶灵的力量是仅仅让人绝望,那么此时这九条金龙带来的却是毁灭!

  “恶灵,来感受搬砖工的怒火吧!”

  “不!!!不!!!”恶灵一声愤怒与不甘的怪啸,在九条金龙的冲击之下,恶灵如同纸糊一般顷刻瓦解。

  金龙消散,天光云开。

  海滩又恢复了温柔明媚。

  只剩下老人写下那块“玻璃碎片,危险!”在风中轻轻摇摆以及苍穹之上还还未消散的四个大字。

  蓝翔技校。

AuthorizationServerConfiguration.java

@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter {
    @Autowired
    private AuthenticationManager authenticationManager;
    @Autowired
    private JwtAccessTokenConverter jwtAccessTokenConverter;
    @Autowired
    private ClientDetailsService jdbcClientDetailsService;
    @Autowired
    private AuthorizationCodeServices authorizationCodeServices;
    @Autowired
    private ApprovalStore approvalStore;
    @Autowired
    private TokenStore tokenStore;
    @Autowired
    private OauthTokenEnhancer oauthTokenEnhancer;
    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) {
        endpoints.authenticationManager(authenticationManager);
        endpoints.accessTokenConverter(jwtAccessTokenConverter);
        endpoints.authorizationCodeServices(authorizationCodeServices);
        endpoints.approvalStore(approvalStore);
        endpoints.tokenStore(tokenStore);
        TokenEnhancerChain enhancerChain = new TokenEnhancerChain();
        List<TokenEnhancer> delegates = new ArrayList<>();
        delegates.add(oauthTokenEnhancer);
        delegates.add(jwtAccessTokenConverter);
        enhancerChain.setTokenEnhancers(delegates);
        endpoints.tokenEnhancer(enhancerChain);
    }
    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.withClientDetails(jdbcClientDetailsService);
    }
    @Override
    public void configure(AuthorizationServerSecurityConfigurer security) {
        security.allowFormAuthenticationForClients()
                .tokenKeyAccess("permitAll()")
                .checkTokenAccess("permitAll()");
    }
}

JwtTokenConfiguration.java

@Configuration
public class JwtTokenConfiguration {
    @Bean
    public JwtAccessTokenConverter jwtAccessTokenConverter() {
        return new JwtAccessTokenConverter();
    }
}

WebSecurityConfiguration.java

@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Autowired
    private DataSource dataSource;
    @Autowired
    private UserAuthService userAuthService;
    @Bean
    public BCryptPasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
    @Bean
    public AuthorizationCodeServices authorizationCodeServices() {
        return new JdbcAuthorizationCodeServices(dataSource);
    }
    @Bean
    public ApprovalStore approvalStore() {
        return new JdbcApprovalStore(dataSource);
    }
    @Bean
    public TokenStore tokenStore() {
        return new JdbcTokenStore(dataSource);
    }
    @Bean
    public OauthTokenEnhancer oauthTokenEnhancer() {
        return new OauthTokenEnhancer();
    }
    @Bean
    public ClientDetailsService jdbcClientDetailsService() {
        return new JdbcClientDetailsService(dataSource);
    }
    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }
    @Override
    protected void configure(AuthenticationManagerBuilder auth) {
        DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
        authProvider.setPasswordEncoder(passwordEncoder());
        authProvider.setUserDetailsService(userAuthService);
        auth.authenticationProvider(authProvider);
    }
}

OauthController.java

@RestController
@RequestMapping("/oauth")
public class OauthController {
    @Autowired
    private TokenEndpoint tokenEndpoint;
    @GetMapping("/token")
    public Oauth getAccessToken(Principal principal, @RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
        return tokenInfo(tokenEndpoint.getAccessToken(principal, parameters).getBody());
    }
    @PostMapping("/token")
    public Oauth postAccessToken(Principal principal, @RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
        return tokenInfo(tokenEndpoint.postAccessToken(principal, parameters).getBody());
    }
    private Oauth tokenInfo(OAuth2AccessToken accessToken) {
        DefaultOAuth2AccessToken token = (DefaultOAuth2AccessToken) accessToken;
        token.getAdditionalInformation().remove("jti");
        LinkedHashMap<String, Object> data = new LinkedHashMap<>(token.getAdditionalInformation());
        data.put("accessToken", token.getValue());
        return Oauth.build(data);
    }
}

UserAuthMapper.java

public interface UserAuthMapper extends BaseMapper<UserAuth> {
}

Oauth.java

@Data
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Oauth {
    private int code;
    private String message;
    private Object data;
    public static Oauth build(Object data) {
        return new Oauth(200, "成功", data);
    }
}

UserAuth.java

@Data
@TableName("user_auths")
public class UserAuth {
    private String userId;
    private String identityType;
    private String identifier;
    private String credential;
}

OauthTokenEnhancer.java

public class OauthTokenEnhancer implements TokenEnhancer {
    @Override
    public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
        User user = (User) authentication.getPrincipal();
        Map<String, Object> map = new LinkedHashMap<>();
        map.put("client_id", authentication.getOAuth2Request().getClientId());
        map.put("username", user.getUsername());
        ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(map);
        return accessToken;
    }
}

UserAuthService.java

@Service
public class UserAuthService implements UserDetailsService {
    @Autowired
    private UserAuthMapper userAuthMapper;
    @Override
    public UserDetails loadUserByUsername(String username) {
        QueryWrapper<UserAuth> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(UserAuth::getIdentifier, username);
        UserAuth userAuth = userAuthMapper.selectOne(queryWrapper);
        if (userAuth == null)
            throw new UsernameNotFoundException("账号不存在");
        List<GrantedAuthority> list = AuthorityUtils.commaSeparatedStringToAuthorityList("ROOT_USER");
        return new User(userAuth.getIdentifier(), userAuth.getCredential(), list);
    }
}

OauthDemoApplication.java

@SpringBootApplication
@MapperScan("com.scut.oauthdemo.mapper")
public class OauthDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(OauthDemoApplication.class, args);
    }
}

标签:return,游客,private,测试,new,老人,public
From: https://www.cnblogs.com/Junkman/p/16609306.html

相关文章

  • 解决测试代码时,产生的空指针错误
    错误类型如下:  在进行代码测试的时候,莫名其妙的空指针报错解决方法:具体问题具体分析,此时的测试代码,是测试路由反馈,我没有使用air打开网站服务,于是遇到如上所见的......
  • 软件测试入门书籍和学习网站推荐
    一、软件测试入门书籍二、网站1、51Testinghttp://www.51testing.com/html/index.html51Testing是国内较大的软件测试网站,有很多关于软件测试文章和教程,也有相关的测......
  • 单元测试
    原则AutomaticIsolationRepeatable注解@Testexpected——设置期望方法异常timeout——设置方法超时时间@BeforeClass——用于创建资源连接@Parameter——......
  • Pytest框架 — 14、Pytest的标记(五)(控制测试用例执行顺序)
    目录1、前言2、使用3、标记最先执行和最后执行1、前言在执行自动化测试时,我们通常都希望能够控制执行测试用例的顺序。在unittest框架中默认按照ACSII码的顺序加载测试......
  • 25. Redis---性能测试
    1.前言为了解Redis在不同配置环境下的性能表现,Redis提供了一种行性能测试工具redis-benchmark(也称压力测试工具),它通过同时执行多组命令实现对Redis的性能测试。性......
  • 2022年多校冲刺NOIP联训测试13 && 51nod2023省选联训 第三场
    A隔离二分答案,简单\(check\)一下即可code#include<cstring>#include<algorithm>#include<cstdio>#include<queue>#include<vector>#include<set>#include<map>......
  • 配置环境并使用测试--python
    一、使用anaconda搭建python环境condainfo--env 查看环境condaremove-nweb--all删除环境condacreate--namepythonpython=3.8创建名为python的虚拟环境......
  • php断点调试工具------NetBeans+Xdebug调试php方法(测试成功)
    @原文url:http://www.cnblogs.com/dcb3688/p/4608015.html@netbeans官方调试php代码说明:https://netbeans.org/kb/docs/php/debugging_zh_CN.html个人认为,对有有经验......
  • C# 测试记录
    1、正常,同时开启两个线程//启动函数publicvoidTest(){Threadthread1=newThread(()=>SC1());thread1.Start();Threadthread2=newThread((......
  • 性能测试4
    jvm监控启动jarjava-jar架包名JvisualvmJvisualvm也是jdk⾃带的可视化的JVM监控⼯具,⽀持本地和远程,启动后,主界⾯如下图所示:本地监控JVM资源信息 本地发送高并......