自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot + SpringSecurity 控制授权

授权简介一般的人会认为,不同的角色登录进同一个系统,根据角色权限的不同,看到的菜单不同就是控制授权。其实并不是的,菜单的是否显示只是前端交互上的一个设计而已,真正需要授权的地方的接口的访问。 普通的系统通常会有两个端,一个是给用户用的业务系统(比如购物商城的买家端),一个是给公司运营人员用的管理端(可以统计销售量,用户量等信息)。 业务端的权限通常比较简单,可以区分为是否登录,或者简单...

2018-03-31 15:47:34 10864 5

原创 Shell 简单教程

Hello World这里我们在Linux环境下进行操作,通过vi来进行编辑。 通过vi创建并编辑一个test.sh文件:#!/bin/bashecho "Hello World !"该文件的作用是在控制台输出“Hello World !”。 echo 命令用于向窗口输出文本。 #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。 ...

2018-03-30 08:52:24 205

原创 【Java编程的逻辑】列表和队列

ArrayListArrayList中有两个方法可以返回数据public Object[] toArray();public <T> T[] toArray(T[] a);ArrayList中有一个静态方法asList可以返回对应的ListInteger[] a = {1, 2, 3};List<Integer> list = Arrays.as...

2018-03-29 15:24:25 386

原创 SpringBoot + Spring Security OAuth2基本使用

OAuth2.0基本知识网上关于OAuth2.0的介绍已经很多了,这里就不做过多的介绍,不太了解的朋友可以参考理解OAuth 2.0 Spring Security OAuth2基本配置这里依然使用maven来做管理 <dependency> <groupId>org.springframework.security.oauth&lt...

2018-03-28 22:27:20 88038 17

原创 SpringBoot + SpringSecurity Session管理

Session超时管理在SpringBoot中,可以直接在配置文件中对Session超时时间进行设置 # 默认为30分钟,这里的单位是秒server.session.timeout = 10 * 60SpringBoot中默认的Session超时时间是30分钟,通过配置文件设置的单位的是,但是最少设置为60秒 Session 超时处理在之前的系统设计中,如果Sessi...

2018-03-26 21:50:07 15609 2

原创 SpringBoot + SpringSecurity 短信验证码登录功能

实现原理在之前的文章中,我们介绍了普通的帐号密码登录的方式: SpringBoot + Spring Security 基本使用及个性化登录配置。 但是现在还有一种常见的方式,就是直接通过手机短信验证码登录,这里就需要自己来做一些额外的工作了。 对SpringSecurity认证流程详解有一定了解的都知道,在帐号密码认证的过程中,涉及到了以下几个类:UsernamePasswordAuth...

2018-03-25 09:50:01 18632 15

原创 SpringBoot + SpringSecurity “记住我”功能实现及相关源码分析

记住我功能的基本原理之前有讲过,当用户发起认证请求,会通过UsernamePasswordAuthenticationFilter,在认证成功之后,可以调用SpringSecurity提供的RememberMeService,它会生成一个Token并将它写入浏览器的Cookie中,同时这个它里面有一个TokenRepositoryTokenRepository会将Token放入数据库中。 ...

2018-03-24 10:38:51 8583 2

原创 Docker 安装以及常用命令

Docker安装Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令: yum install docker安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动: systemctl start docker.service systemctl enable do...

2018-03-22 14:50:56 357

原创 【Java编程的逻辑】 泛型 & 参数限定 & 通配符

类型参数的限定无论是泛型类、泛型方法还是泛型接口,关于类型参数,我们都知之甚少,只能把它当作Object,但Java支持限定这个参数的一个上界,也就是说:参数必须为给定的上界类型或其子类型,这个限定是通过extends关键字来表示的。 上界为某个具体类public class NumberPair<U extends Number> {}指定边界之后,类型擦...

2018-03-22 11:26:57 2405

原创 SpringBoot + SpringSecurity 实现图形验证码功能

生成图形验证码根据随机数生成图片 将随机数存到Session中 将生成的图片写到接口的响应中 生成图形验证码的过程比较简单,和SpringSecurity也没有什么关系。所以就直接贴出代码了根据随机数生成图片/** * 生成图形验证码 * @param request * @return */private ImageCode generate(Servl...

2018-03-21 21:56:12 15132 5

原创 RxJavaのobserveOn()与subscribeOn()

subscribeOn()和observeOn()的区别subscribeOn()改变调用它之前代码的线程observeOn()改变调用它之后代码的线程RxJava中的schedulerSchedulers.immediate(): 直接在当前线程运行,相当于不指定线程。这是默认的 Scheduler。Schedulers.newThread(): 总是启用新线程,并在新...

2018-03-20 14:27:45 541

原创 【Java编程的逻辑】 String & StringBuilder & Arrays

StringString类内部用一个字符数组表示字符串,实例变量定义为:private final char value[];String中的大部分方法内部都是操作的这个字符数组,比如: length():返回这个数组的长度substring():根据参数,调用构造方法public String(char value[], int offset, int count)新建一...

2018-03-20 13:57:32 263 1

原创 【Java编程的逻辑】异常 & finally & try-with-resources

finally异常机制中还有一个重要的部分,就是finally。catch后面可以跟finally语句try { // 可能抛出异常} catch(Exception e) { // 捕获异常} finally { // 不管有无异常都会执行}如果在try或者catch语句内有return语句,则return语句在finally语句执行结束后...

2018-03-19 14:48:44 518

原创 SpringSecurity认证流程详解

SpringSecurity基本原理在之前的文章《SpringBoot + Spring Security 基本使用及个性化登录配置》中对SpringSecurity进行了简单的使用介绍,基本上都是对于接口的介绍以及功能的实现。 这一篇文章尝试从源码的角度来上对用户认证流程做一个简单的分析。 在具体分析之前,我们可以先看看SpringSecurity的大概原理: 其实比较简单,主要是通...

2018-03-18 22:01:48 20911 3

原创 SpringBoot + Spring Security 基本使用及个性化登录配置

Spring Security 基本介绍这里就不对Spring Security进行过多的介绍了,具体的可以参考官方文档我就只说下SpringSecurity核心功能: 认证(你是谁)授权(你能干什么)攻击防护(防止伪造身份)基本环境搭建这里我们以SpringBoot作为项目的基本框架,我这里使用的是maven的方式来进行的包管理,所以这里先给出集成Spring S...

2018-03-18 09:55:52 154147 53

原创 Find Smallest Letter Greater Than Target

DescriptionGiven a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target....

2018-03-16 18:12:04 204

原创 【Java编程的逻辑】内部类的本质

之前我们所说的类都对应于一个独立的Java源文件,但一个类还可以放在另一个类的内部,称之为内部类。 内部类可以实现对外部完全隐藏,可以有更好的封装性,代码实现上往往更加简洁。 不过,内部类只是Java编译器的概念,对于Java虚拟机而言,它是不知道内部类这回事的,每个内部类最后都会被编译成为一个独立的类。 静态内部类静态内部类和静态变量、静态方法类似,同样是使用static关键字...

2018-03-16 11:32:14 359

原创 【Java编程的逻辑】接口的本质 & 抽象类

接口的概念接口声明了一组能力,但它自己并没有实现这个能力,它只是一个约定。Java8和Java9对接口的增强Java8允许在接口中定义两类新方法:静态方法和默认方法public interface IDemo { // 常规抽象方法 void hello(); // 静态方法 public static void test() { ...

2018-03-09 17:29:23 748

原创 【Java编程的逻辑】类的基础 & 类的继承

类的基本概念pubilc: 可以修饰类、类方法、类变量、实例变量、实例方法。构造方法,表示可被外部访问private:可以修饰类、类方法、类变量、实例变量、实例方法。构造方法,表示不可以被外部访问,只能在类内部被使用static:修饰类变量和类方法,它也可以修饰内部类this:表示当前实例,可以用于调用其他构造方法,访问实例变量,访问实例方法final:修饰类变量、实例变量,表示只能...

2018-03-08 16:12:48 221 1

原创 CentOS7 端口相关操作

查看查看所有开放的端口 firewall-cmd --list-ports查看某个端口开放情况firewall-cmd --zone=public --add-port=80/tcp --permanent命令含义: –zone=public #作用域–add-port=80/tcp #添加端口 端口号/通讯协议–permanent # 永久生效,如果没有...

2018-03-07 16:41:54 371

原创 Pascal's Triangle II

DescriptionGiven an index k, return the kth row of the Pascal’s triangle.For example, given k = 3, Return [1,3,3,1]Note: Could you optimize your algorithm to use only O(k) extra space?Disc...

2018-03-05 16:10:02 181

原创 Find Mode in Binary Search Tree

DescriptionGiven a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred element) in the given BST.Assume a BST is defined as follows:The left subtree of ...

2018-03-05 15:40:11 223

基于51单片机的出租车计费器

基于51单片机的出租车计费器,包含了程序代码,电路原理图,论文报告,元件清单

2015-08-01

使用百度地图的公交查询

自己做的毕业设置,基于百度地图的公交查询系统,可以显示各种图层,查询公交线路详情,查询路况,查询周边商家等,有详细的代码注释

2015-07-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除