Gitee

Spring WebFlux (3): mysql+Springboot Security实现登录鉴权 Security主要有两个功能:

喜欢而已 提交于 2020-10-23 19:39:06
Security主要有两个功能: 登录 鉴权 Security通过一个user相关类存储用户信息,实现UserDetails接口功能: 看一下Security自带的User类, 主要变量: password:密码 username: 账户名 authorities: 访问权限 accountNonExpired:账户没有过期 isAccountNonLocked:账户没被锁定 (是否冻结) isCredentialsNonExpired:密码没有过期 isEnabled:账户是否可用(是否被删除) 其中password用于登录,authorities用于鉴权。 登录 简单说一下登录流程 一旦添加了Springboot Security依赖,访问api或者网页都会要求进行登录 输入账号和密码之后,会将信息放入Authentication类的对象中 得到的 Authentication 通过 AbstractUserDetailsReactiveAuthenticationManager 进行判断是否符合条件 通过 authentication 中的username(就是登录名),触发retrieveUser(username)方法 retrieveUser方法 通过 ReactiveUserDetailsService 获取对应名字对象

typora+picgo+gitee

[亡魂溺海] 提交于 2020-10-22 17:51:36
网上教程很多,这里我就简单说下,因为踩了一个坑 环境:typora最新版 picgo 2.03(之前用最新版的出现了一个下载不了gitee插件的问题,可能是版本的原因,因为我最开始在公司失败了,安装插件一直卡在那儿,且日志有报错) gitee插件 2.0 首先安装typora,这个不用说, 然后安装node.js,最好先装这个,别问为什么, 然后安装picgo2.03,安装过程不赘述,直接插件安装gitee 目前picgo最新版是2.30 beta3,死活安装不上,我也不清楚是不是公司电脑的原因 然后打开码云,新建一个仓库 然后就是生成一个私人令牌,这个是配置gitee插件需要的 点击这儿的文件就可以新建文件夹了 然后配置gitee插件 点击确定开始测试 表明没问题了,然后的话升级picgo版本,升级到最新的版本即可(最开始之所以不用最新版本是因为安装不了插件) 然后打开typora,文件,偏好设置,图像 验证图片上传选项也可以看看,表明是没问题的 最后去随便截个图然后插入到typora发现已经ok,并且gitee的仓库里也有了,至此 大功告成 来源: oschina 链接: https://my.oschina.net/825487559/blog/4376544

陌陌开源了一款IDEA插件,用于分析Java静态代码中存在的漏洞

南笙酒味 提交于 2020-10-22 17:33:06
近日,陌陌安全开源了 Java 静态代码安全审计插件 MOMO Code Sec Inspector,侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。 MOMO 安全团队认为,绝大部分 Web 安全漏洞源于编码,更应止于编码。 因此,MOMO 安全组针对公司内部广泛使用 Intellij IDEA 开发工具自主研发静态代码安全审计插件(MOMO Code Sec Inspector),以此辅助研发团队在编码过程中发现潜在的安全风险,并为其提供漏洞一键修复能力。 效果演示 演示一,XXE 漏洞发现与一键修复 演示二,Mybatis XML Mapper SQL 注入漏洞发现与一键修复 项目地址 gitee地址:https://gitee.com/mirrors/momo-code-sec-inspector-java 推荐阅读 腾讯 Git 规范出炉,写给开发者的指南! 最棒 Spring Boot 干货总结(超详细,建议收藏) 我的天,Spring Boot 居然还有 Plus 版本 来源: oschina 链接: https://my.oschina.net/u/4374544/blog/4684689

基于事件型表驱动法菜单框架之小熊派简易气体探测器实战项目开发(中)

萝らか妹 提交于 2020-10-22 15:50:12
上次我们分享了事件驱动型的菜单框架,也实现了一个基本的小项目,如下: 基于事件型表驱动法菜单框架之小熊派简易气体探测器实战项目开发(上) 但是怎么看怎么都觉得界面不爽,单纯显示文字的方式实在是太单调了,如果想要显示颜色丰富的图片,MCU资源受限又很难直接在程序中直接定义图片大数组。 于是,我选择在SD卡中放图片,通过Fatfs去读取SD卡中的图片来进行显示,图片都是我自己在阿里图库上找的开源素材,然后用PS自己P的: 废话不多说,来看看实际效果吧!演示视频如下: 这样看起来效果就舒服一点啦。 1、新增功能项 本节分享的内容相较于上篇文章修改/增加了如下功能: 底层配置 修改LCD寄存器,提升LCD刷屏速度 增加Fatfs、SD卡读写功能 应用逻辑 增加模拟长按开机识别 增加开机LOGO以及其它UI的显示 增加菜单(阈值设置、设置、调试模式、仪器信息) 1.1、关于底层配置 1.1.1、提升屏刷新速度 由于要刷图,所以只能想办法尽量提升屏的刷新速度,于是在LCD手册里有这么一个寄存器,可以提升屏的刷新速度: 在LCD驱动初始化代码里,这个寄存器默认配置的是60Hz,也就是0x0F这个值 /* Frame Rate Control in Normal Mode */ LCD_Write_Cmd(0xC6); // LCD_Write_Data(0x0F); //60HZ LCD

博客园主题——atum1.15升级发布啦

一个人想着一个人 提交于 2020-10-22 09:16:45
atum主题部署文档 自周三发布的博客园主题1.0版本赢得得广大博友的好评,但同时该主题也存在一些小瑕疵,这个版本主要是根据atum1.0版本以及各博友的建议做了一些升级改动,改动后重新打包发布atum1.1版本。博主在接下来的版本迭代中也会不断加入更多符合博友方便使用的各种新特性。好了,接下是atum1.1主题的部署详情。 介绍 一款由VUE打造的简约型博客主题,兼容各大主流浏览器,响应式设计,PC、平板、手机等均可正常浏览。 特性 响应式设计,兼容手机端浏览器。 提供多种配置信息,方便各类用户进行个人定制化。 部署文档十分详细且部署快捷。 主题整体偏向简约、无太多不必要的特效画面、偏向于阅读型博客。 请求局部HTML刷新,实现全站无刷新式加载。 该版本主要改进 相对于atum1.0需要的blogAcc、blogId等参数的必须配置,该版本采用自动配置特性,即做到了 所有属性无必须配置 ,做到了 按需配置 的特性。 中央面板新增滚动条辅助,改进了能够快速进入页底或页顶的阅读体验。 修改博客文章标题右侧眼睛图标为放大图标,点击可进行全屏沉浸式阅读文章,加强阅读体验。 调整分页显示,修改为分页页数在下,分页内容在上。 调整各处内容过长导致内容溢出或换行问题。 急速部署 前提:已经开通 js 权限,没开通的可以向博客园官方申请开通。 前提:对于随笔发布请不要设置EntryName属性。

spring boot 1.5.4 集成devTools(五)

心不动则不痛 提交于 2020-10-22 09:01:38
上一篇: spring boot 1.5.4 整合JSP (四) 1.1 Spring Boot 集成 devTools spring boot 集成 devTools 源码: spring-boot相关项目源码, 码云地址: https://git.oschina.net/wyait/springboot1.5.4.git github地址 : https://github.com/wyait/spring-boot-1.5.4.git 实现步骤: Eclipse Project 必须开启了 Build Automatically ,如果关闭了自动编译的功能,热部署无效。 1. pom 引入 devTools 依赖和插件配置 <!-- devtools--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <!--optional=true, 依赖不会传递,该项目依赖 devtools ;之后依赖 SpringBoot1 项目的项目如果想要使用 devtools ,需要重新引入 --> </dependency> 2.可以根据需要调整 application

我用Python实现了一个小说网站雏形

安稳与你 提交于 2020-10-22 08:59:32
前言 前段时间做了一个爬取妹子套图的小功能,小伙伴们似乎很有兴趣,为了还特意组建了一个Python兴趣学习小组,来一起学习。十个python九个爬,在大家的印象中好像Python只能做爬虫。然而并非如此,Python 也可以做Web开发,接下来给大家展示一下如何做一个小说站点。 相关软件 软件 版本 功能 地址 Python 3.7.1 脚本语言 https://www.python.org/ Django 2.1.3 Web框架 https://www.djangoproject.com/ PyCharm 2018.2.4 可视化开发工具 http://www.jetbrains.com/pycharm/ 环境搭建说明: http://www.runoob.com/python3/python3-install.html 爬取数据 做一个小说网站,内容是必须的,首先我们爬取一本小说《星辰变》到数据库。 创建一个简单的数据库表: CREATE TABLE `novel` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `title` varchar(100) NOT NULL COMMENT '标题', `content` text NOT NULL COMMENT '内容', PRIMARY KEY (`id`) )

架构设计 | 高并发流量削峰,共享资源加锁机制

…衆ロ難τιáo~ 提交于 2020-10-22 08:46:01
本文源码: GitHub·点这里 || GitEE·点这里 一、高并发简介 在互联网的业务架构中,高并发是最难处理的业务之一,常见的使用场景:秒杀,抢购,订票系统;高并发的流程中需要处理的复杂问题非常多,主要涉及下面几个方面: 流量管理,逐级承接削峰; 网关控制,路由请求,接口熔断; 并发控制机制,资源加锁; 分布式架构,隔离服务和数据库; 高并发业务核心还是流量控制,控制流量下沉速度,或者控制承接流量的容器大小,多余的直接溢出,这是相对复杂的流程。其次就是多线程并发下访问共享资源,该流程需要加锁机制,避免数据写出现错乱情况。 二、秒杀场景 1、预抢购业务 活动未正式开始,先进行活动预约,先把一部分流量收集和控制起来,在真正秒杀的时间点,很多数据可能都已经预处理好了,可以很大程度上削减系统的压力。有了一定预约流量还可以提前对库存系统做好准备,一举两得。 场景:活动预约,定金预约,高铁抢票预购。 2、分批抢购 分批抢购和抢购的场景实现的机制是一致的,只是在流量上缓解了很多压力,秒杀10W件库存和秒杀100件库存系统的抗压不是一个级别。如果秒杀10W件库存,系统至少承担多于10W几倍的流量冲击,秒杀100件库存,体系可能承担几百或者上千的流量就结束了。下面流量削峰会详解这里的策略机制。 场景:分时段多场次抢购,高铁票分批放出。 3、实时秒杀 最有难度的场景就是准点实时的秒杀活动

编程体系结构(07):JavaEE之Web开发

橙三吉。 提交于 2020-10-22 04:10:53
本文源码: GitHub·点这里 || GitEE·点这里 一、基础概念 1、CS与BS架构 CS架构模式 客户端/服务器(Client/Server)模式,既要编写服务器端程序,也要开发客户端程序,软件更新时需要同时更新客户端和服务器端,整体模式相比BS架构要复杂,但是安全性比较高。 B/S架构模式 即浏览器/服务器(Browser/Server),只需要编写服务器端程序,浏览器的界面作为访问的服务端的入口,架构相对简单,可以快速迭代,但是安全性较差。 2、Socket通信机制 TCP/IP 协议 传输控制协议/网际协议是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。 Socket套接字 网络中不同主机上的应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。通常接收请求数据,并做业务处理的称为服务端即ServerSocket,发送请求并接收处理结果的称为客户端。 二、Http协议 1、Http和Https Http协议 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP

scrapyd的Windows管理客户端

喜欢而已 提交于 2020-10-21 21:37:05
ScrapydManage GitHub地址: https://github.com/kanadeblisst/ScrapydManage 码云: https://gitee.com/kanadeblisst/ScrapydManage scrapyd的Windows管理客户端,软件只是将scrapyd的api集成到exe文件中,软件是由aardio写的,GitHub有源码,可以自行编译,也可以下载GitHub中release已编译的exe文件。 主机管理界面 右键菜单: 添加主机 添加主机顾名思义就是添加scrapyd的api地址,例如127.0.0.1:6800。不理解scrapyd怎么使用的可以参考官方文档: https://scrapyd.readthedocs.io/en/stable/index.html。其实很简单,pip install scrapyd,然后命令行输入scrapyd,或者先在当前目录创建scrapyd.conf,修改一些配置参数然后在输入scrapyd运行。 【参考配置】: [scrapyd] eggs_dir = D:/scrapyd/eggs logs_dir = D:/scrapyd/logs items_dir = D:/scrapyd/items jobs_to_keep = 5 dbs_dir = D:/scrapyd/dbs max