7 vbirdbest

尚未进行身份认证

一个平凡的小菜鸟

等级
TA的排名 1k+

Python多线程

threading 模块threading.currentThread(): 返回当前的线程变量。threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。Thr...

2019-12-06 20:07:16

Python常用模块:字符串操作

https://www.runoob.com/python3/python3-string.htmlfoobar = “hello world\thello!”将字符串的第一个字符转换为大写. Hello worldprint(foobar.capitalize())返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 ----hello world-...

2019-12-09 21:59:02

Python基础语法(三):迭代器、生成器、装饰器

1. 自定义迭代器迭代器可以通过next()函数获取下一个值,也可以通过for循环。字符串,列表或元组对象都可通过iter()函数创建迭代器。也可以自定义迭代器。list = [1, 2, 3]it = iter(list)print(next(it))for i in it: print(f"list[i]={i}")"""自定义迭代器__iter__(self): ...

2019-12-06 11:33:11

Python基础语法(二):类

1. 语法Python中类有一些特殊的方法,方法名都是以双下划线__作为前缀和后缀,这是Python中定义好的方法,Python中有很多这种方法。__init__表示构造方法__str__表示Java中的toString()方法__next__表示迭代器对应的next()方法def __init__(self): pass类的方法与普通的函数只有一个特别的区别——它们必须有一个...

2019-12-06 11:44:05

Python基础语法(一):我从未见过的语法

函数参数默认值必须为不可变数据类型,如果参数为可变数据类型默认值只能设置为None生成器函数generator functionimport 与 from … import的区别

2019-11-30 20:12:45

Spring Boot入门教程(五十七): HTTPS

现在API接口一般要使用https协议,可以通过nginx反向代理实现,也可以让Spring Boot支持https协议。一:证书文件获取方式从第三方可信证书认证商购买从云服务器免费申请(免费1年)自己生成(仅用于开发测试,浏览器会提示不安全)使用JDK自带的命令keytool生成证书文件keytool -genkey -alias tomcathttps -keyalg RS...

2019-09-04 16:03:11

Sonar代码质量管理

一:JDK安装最新版本的SonarQube需要更高的JDK版本,SonarQube7.9.1版本需要jdk11之上,这里使用当前的最新版本的jdk12.02二:SonarQube安装SonarQube 下载地址:https://www.sonarqube.org/downloads/配置jdk路径 sonarqube-7.9.1/conf/wrapper.confwrapper.jav...

2019-08-21 22:44:25

策略设计模式(Strategy Pattern)

在讲策略设计模式之前,我们先写一个非常简单的计算器功能,我们将以最简单的计算器功能实现来逐渐引出策略设计模式。1. 最简单的计算器实现(示例1)public class Main { public static void main(String[] args) { // 计算类型:1:加法 2:减法 3:乘法 4:除法 // 计算类型和计算的值都是正...

2019-08-17 12:08:18

建造者(Builder)模式

在了解建造者模式之前需要先了解一下重叠构造器模式和JavaBeans模式,构建者模式是为了优化前两种模式的弊端而产生的。一:重叠构造器(telescoping constructor)模式假如一个类中有很多字段,其中只有少数几个字段是必选的(required),其余大部分字段都是可选的(optional),那么该如何创建对象呢?我们创建一个"营养成分表"类,营养成分在每个食物的包装盒上都有明...

2019-08-09 18:09:29

Spring Security(十六):授权(Authorization)

一:简介授权就是控制url能不能访问。一个请求过来会先经过FilterSecurityInterceptor过滤器拦截,然后调用访问决定管理器AccessDecisionManager,访问决定管理器是通过访问决定投票器AccessDecisionVoter来投票的,如果投票器投通过那么这个url就可以访问,如果投票器投拒绝那么这个url就不能被访问,会抛出一个访问被拒绝的异常。访问决定投票...

2019-07-09 17:23:42

Spring Security(十五):Token配置

配置多个clienttoken持久化到redis@Data@ToString@AllArgsConstructor@RequiredArgsConstructorpublic class OAuth2Client { private String clientId; private String clientSecret; private int acces...

2019-07-04 18:17:31

Spring Security(十四):认证(OAuth2)-App社交登录获取token

一:简介App通过第三方提供的SDK可以获取到第三方的openId和第三方对应的access_token, 但是第三方提供的access_token只能访问第三方的接口,不能访问自己服务的接口。我们要做的就是根据第三方的openId来换取自己服务对应的令牌。实现逻辑和短信验证码的逻辑一样,就是自定义一套认证逻辑。二:实现OpenIdAuthenticationTokenpublic cla...

2019-07-02 17:04:47

Spring Security(十三):认证(OAuth2)-短信验证码登录获取token

一:简介通过短信验证码获取令牌的过程也是自定义认证的过程。 组定义认证流程如下:自定义一个过滤器实现认证 SmsCodeAuthenticationFilter认证的时候需要将认证信息封装到一个令牌实体中 SmsCodeAuthenticationToken最终实现认证的是认证提供商 SmsCodeAuthenticationProvider将自定义的过滤器添加到UsernamePas...

2019-07-01 22:22:40

Spring Security(十二):认证(OAuth2)-用户名密码登录获取token

上文讲了授权码模式,了解授权码模式可以很好的了解授权模式,但实际开发中也需要"用户名+密码"方式来获取授权,本文将"用户名密码"这种方式接入到标准的OAuth2流程中,登录成功后返回token,根据token访问其它接口。1.pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://mav...

2019-06-27 11:01:02

Spring Security(十一):授权认证(OAuth2)-授权码模式(authorization_code)

一:简介二:代码1. pom.xml注意:这里使用的springboot的版本为2.1.5.RELEASE,不同的版本功能实现上可能会有差异。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o...

2019-06-25 18:12:32

Spring Security(八):认证(Authentication)-社交登录(Social)-绑定和解绑

一:绑定当用于已经在平台上注册过账号之后,可以通过绑定将第三方社交账号绑定到平台注册的账号,以后使用第三方社交账号登录即可。在绑定和解绑中一个很重要的类就是org.springframework.social.connect.web.ConnectController二:获取社交账号的绑定结果MyConnectionStatusView: 连接状态视图,Spring Security So...

2019-06-07 14:42:14

Spring Security(七):认证(Authentication)-Web社交登录(Social)-Weixin

public interface Weixin { WeixinUserInfo getUserInfo(String openId);}@Data@ToStringpublic class WeixinUserInfo { /** * 普通用户的标识,对当前开发者帐号唯一 */ private String openid; /**...

2019-06-07 10:44:59

Spring Security(六):认证(Authentication)-Web社交登录(Social)-QQ

QQ第三方登录文档 http://wiki.connect.qq.com/一:成为个人开发者1. 在QQ互联(https://connect.qq.com)上称为个人开发者,填上一些基本信息名称: 自己的身份证上的姓名联系地址:自己实际居住的地址手机号码:自己的手机号电子邮箱:自己的邮箱,申请开发者时会收到一封确认邮件"腾讯开放平台-开发者注册认证",点击一下链接就可以了身份证号码...

2019-06-06 23:45:08

Spring Security(十):登出Logout

退出处理逻辑使当前session失效清楚与当前用户相关的remember-me记录清空当前的SecurityContext重定向到登录页http.csrf().disable().antMatchers("/login","/session/invalid","/logout","/signOut").permitAll().logout().logoutUrl(...

2019-05-26 09:35:23

Spring Security(九):会话管理(Session)

一:会话超时1. application.yml配置session会话超时时间,默认为30秒,但是Spring Boot中的会话超时时间至少为60秒server: servlet: session: timeout: 602. security configuration配置session超时后地址http.csrf().disable() .antMatc...

2019-05-25 19:43:31

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。