Spring Security系列(三)——WebFlux配置方式以及多登陆入口实现

本文场景: 使用Spring Security做权限控制,系统包含普通用户和系统管理员两种类型,希望有不同的登录入口;并且在Spring Gateway上配置,Gateway使用的是WebFlux,无法兼容MVC,所以使用WebFlux配置Security。纯记录,目前项目还是小demo,贴的示例代

Spring Security系列(二)——过滤器链分析以及创建多个登陆入口

写在前面本文场景: 希望在网关上实现security统一进行权限认证,后续的服务间交互不再进行权限认证。但是系统有两个类型的账号,一个是普通用户,一个是系统后台管理员,完全是两个类型,希望创建给两个不同的登陆入口分别给两个类型的账号登录使用。想到的解决方法有两个:网关上的security想办法创建多

Spring Security系列(一)——登录认证基本配置

1. 开启Security@EnableWebSecurity@Configurationpublic class UserWebSecurityConfiguration extends WebSecurityConfigurerAdapter { @Resource private

Vue入门——环境搭建以及第一个Vue项目运行

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 本文描述Vue开发环境的搭建,以及如何创建和运行一个Vue项目。

使用NPS搭建内网穿透

NPS 是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持 tcp、udp 流量转发,可支持任何 tcp、udp 上层协议(访问内网网站、本地支付接口调试、ssh 访问、远程桌面,内网dns解析等等……),此外还支持内网 http 代理、内网 socks5 代理、p2p 等,并带有功能强大的 web 管理端。 本文描述如何搭建Nps服务端和客户端,进行内网穿透,并将Nps添加为服务,进行开机自启动等配置。

spring源码分析(一)——Spring整体架构以及环境搭建

Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

分布式数据库系列——(一)强一致性

​对于分布式系统而言,一致性是探讨当前系统内的一份逻辑数据存在多个物理的数据副本时,对其执行读写操作会产生什么样的结果。在数据库领域,“一致性”与事务密切相关,又进一步细化到ACID(原子性、一致性、隔离性和持久性)四个方面。 ​ 分布式存储系统为了避免设备与网络的不可靠带来额的影响,通常会存储多个数据副本。逻辑上的一份数据同时存储在多个物理副本上,当同时存在读操作和写操作时就带来了数据一致性问题,所以多个副本数据上的一组读写策略被称为“一致性模型”,本文提到了状态一致性和操作一致性两个概念。 1. 状态一致性:数据的实际状态所体现的一致性; 2. 操作一致性:外部用户通过协议约定的操作,能够读取到的数据一致性,即用户感受到一致性,实际存储并不一定具有一致性。 从状态一致性视角看,在任何情况下数据只有两种状态,所有副本一致或者不一致。在某些条件下不一致的状态是暂时的,还会转换到一致的状态,那么这种不一致称为“弱一致性”,变更操作后数据一直是一致的则称为“强一致性”。

软考系统架构师-论软件可靠性设计与应用

随着我国医疗技术水平的不断进步,以及医院规模的不断扩大,医疗信息系统已经成为现代医院管理和诊疗业务运营的基础设施和技术支撑。然而这些随着医院的发展逐步建立起来的信息系统往往具有异构性,严重制约了各个信息系统间信息的共享,“信息孤岛”现象严重。 我在一个软件企业工作,2016年9月,我所在的公司承担了某医院的信息系统集成项目,有幸作为项目负责人参与该集成平台的开发工作,主要负责需求分析和系统架构设计。集成平台作为医院信息系统的基础设施之一,系统的可靠性直接影响到整个医疗信息系统的运行,在项目开发过程中,我们注重软件的可靠性需求,提出了标准化设计、模块化设计、简化设计和容错设计四点可靠性设计方法,提高了系统的可靠性。 项目上线以后,系统运行稳定,减少了信息重复录入,提高了数据完整性和可靠性,大大提高医务人员的工作效率,降低了后期建设成本,获得了该医院领导的认可和用户的广泛好评。

软考系统架构师论文-论信息系统的架构设计

随着我国医疗技术水平的不断进步,以及医院规模的不断扩大,医疗信息系统已经成为现代医院管理和诊疗业务运营的基础设施和技术支撑。然而这些随着医院的发展逐步建立起来的应用系统往往具有异构性,严重制约了各个信息系统间信息的共享,“信息孤岛”现象严重。 我在一个软件企业工作,2016年9月,我所在的公司承担了某医院的信息系统集成项目,有幸作为项目负责人参与该集成平台的开发工作,主要负责需求分析和系统架构设计。在项目开发过程中,我们注重系统的可扩展性、标准化和安全性,经过对医院现实情况的认真分析,结合当今成熟的EAI技术,我提出了以面向服务(SOA)的企业服务总线(ESB)为核心的架构,在ESB之上构建业务执行引擎(BPE)、HL7/DICOM适配器、异步事件管理器、订阅管理器等模块。 项目上线以后,系统运行稳定,减少了信息重复录入,提高了数据完整性和可靠性,大大提高医务人员的工作效率,降低了后期建设成本,获得了该医院领导的认可和用户的广泛好评。

汇编入门-寄存器介绍以及汇编基础指令

汇编指令是机器指令的助记符,与机器指令一一对应。汇编存在多种形式,8086CPU目前主流的有AT&T和INTEL两种,Windows使用INTEL语法,UNIX平台的编译器一直使用AT&T语法。本文以8086CPU为例,主要介绍AT&T语法的基础汇编指令。1. 寄存器CPU由

图算法之无权最短路径 - 基于Neo4j实现

本文基于Neo4j 3.5版本,采用嵌入式的方法开发,neo4j本身其实已经实现了最短路径算法,本文虽然基于neo4j实现,但是更多的是做算法思想的记录,同时本文讲解的最短路径为无权最短路径。 - 无权最短路径与带权最短路径不同,带权最短路径可能权重最小的路径并不是路径最短的路径。而无权最短路径,仅按路径长短来衡量,所以求最短路径最合适的方法为广度遍历。 - 一般网上描述的找最短路径的方法为,从起始点开始广度遍历,找到终止点时停止,这个方法并不是性能最高的方法,本文要说明的是从起始点和终止点双向开始进行广度遍历的算法(双向广搜),可以极大提升找最短路径效率。

JVM原理(一)——JVM概述

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,文章从虚拟机底层讲解虚拟机的设计与实现。

通过javadoc生成文档

一、pom.xml 添加插件<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId>

python中logger的使用

正文# 日志名称:syslogger = logging.getLogger("sys")# 配置日志打印的级别,打印格式logging.basicConfig(level = logging.DEBUG,format = '%(asctime)s %(message)s')

linux下的计划任务crontab

一、计划任务基本命令# 设定某个用户的cron服务crontab -u# 列出cron服务的详细内容crontab -l# 删除cron服务crontab -r# 编辑cron服务crontab -e# 启动服务service crond start# 关闭服务service crond stop#
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×