草庐IT

JavaEE进阶

全部标签

【Spring Security】的RememberMe功能流程与源码详解,基础-进阶-升级-扩展,你学会了吗?

文章目录前言原理基础版搭建初始化sql依赖引入配置类验证源码分析进阶版集成源码分析疑问1疑问2鉴权升级版集成初始化sql配置类验证源码分析鉴权流程扩展版前言之前我已经写过好几篇权限认证相关的文章了,有想复习的同学可以查看【身份权限认证合集】。今天我们来聊一下登陆页面中“记住我”这个看似简单实则复杂的小功能。如图就是博客园登陆时的“记住我”选项,在实际开发登陆接口以前,我一直认为这个“记住我”就是把我的用户名和密码保存到浏览器的cookie中,当下次登陆时浏览器会自动显示我的用户名和密码,就不用我再次输入了。直到我看了SpringSecurity中RememberMe相关的源码,我才意识到之前的

JavaEE & 线程案例 & 定时器 & 线程池 and 工厂模式

欢迎光临^V^文章目录JavaEE&线程案例&定时器&线程池and工厂模式1.定时器1.1定时器Timer的使用1.1.1核心方法schedule1.1.2定时器管理多个线程1.1.3定时器的使用场景1.2自己实现一个定时器1.2.1属性1.2.2建立一个MyTask对象1.2.3schedule方法1.2.4构造方法初步设计1.2.5构造方法最终设计1.3测试MyTimer1.4补充1.4.1例子11.4.2例子21.5顺带一题1.5.1后者1.5.2前者2.线程池2.1用户态和内核态2.2标准库线程池类ExecutorService2.3工厂模式2.3.1开[A的构造厂]2.3.2开[A的

JavaEE & 线程案例 & 定时器 & 线程池 and 工厂模式

欢迎光临^V^文章目录JavaEE&线程案例&定时器&线程池and工厂模式1.定时器1.1定时器Timer的使用1.1.1核心方法schedule1.1.2定时器管理多个线程1.1.3定时器的使用场景1.2自己实现一个定时器1.2.1属性1.2.2建立一个MyTask对象1.2.3schedule方法1.2.4构造方法初步设计1.2.5构造方法最终设计1.3测试MyTimer1.4补充1.4.1例子11.4.2例子21.5顺带一题1.5.1后者1.5.2前者2.线程池2.1用户态和内核态2.2标准库线程池类ExecutorService2.3工厂模式2.3.1开[A的构造厂]2.3.2开[A的

基于javaEE学生选课系统(计算机毕业设计完整项目代码)

摘要系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。学生选课系统主要是为学生选课的管理提供全面、准确、科学的管理方法,方便快捷地处理选课的管理信息;避免了信息处理错误,提高了信息管理的工作效率,便捷的网上选课,大大地节省人力和物力的开支。完整项目代码:https://download.csdn.net/download/weixin_55771290/873942551.开发工具选择采用一个开放源代码的、基于Java的可扩展开发平台eclipse作为主要开发工具,以及一个大型关系数据库管理系统SQLServer作为

基础-进阶-升级!图解SpringSecurity的RememberMe流程

前言之前我已经写过好几篇权限认证相关的文章了,有想复习的同学可以查看【身份权限认证合集】。今天我们来聊一下登陆页面中“记住我”这个看似简单实则复杂的小功能。如图就是博客园登陆时的“记住我”选项,在实际开发登陆接口以前,我一直认为这个“记住我”就是把我的用户名和密码保存到浏览器的cookie中,当下次登陆时浏览器会自动显示我的用户名和密码,就不用我再次输入了。直到我看了 SpringSecurity 中 RememberMe 相关的源码,我才意识到之前的理解全错了,它的作用其实是让用户在关闭浏览器之后再次访问时不需要重新登陆。原理如果用户勾选了“记住我”选项,SpringSecurity 将在用

MySQL分库分表全攻略:从小白到大神的进阶指南!

大家好,我是小米,一个热爱技术的程序员。今天,我来和大家聊一下关于MySQL中的分库分表技术,相信对于开发者和DBA来说是一个非常重要的话题。什么是分库分表首先,我们先来了解一下什么是分库分表。分库分表是指将原本存储在单一数据库中的数据,拆分到多个数据库或者多个数据表中。这样做的目的是为了提高数据库的扩展性和性能,解决单一数据库在数据量和并发访问上的瓶颈。为什么需要分库分表那么为什么我们需要分库分表呢?主要有以下几个原因:首先,随着业务的发展,数据量不断增长,单一数据库的存储容量可能无法满足需求。此时,通过分库可以将数据分散到多个数据库中,提高整个系统的存储能力。其次,高并发访问也是需要考虑的

完整javaEE学生信息管理系统

基于完整javaEE学生信息管理系统文章结构一、开发框架及业务方向1.开发环境2.开发框架3.整体业务二、项目结构及页面展示1.项目整体结构2.学生页面3.教师页面4.管理员页面文章结构一、开发框架及业务方向1.开发环境操作系统不限:java特性,一套代码,导出运行jdk版本不限:推荐jdk1.8tomcat版本不限:推荐Tomcat8.0数据库mysql:版本不限,推荐mysql8.0以下开发工具:eclipse/idea版本不限2.开发框架项目框架:servlet+jsp+mysql+layui+ajax+jquery3.整体业务本系统分为三种权限:1.学生:查看自己信息,修改自己信息,以

10分钟看完这篇文章,一文4个方面带你系统进阶自动化测试涨薪5k

随着测试行业的发展,“会代码”越来越成为测试工程师的一个标签。打开各大招聘网站,测试工程师月薪一万以上基本都有一个必备技能,那就是自动化测试。那么自动化测试到底难不难呢?下面我将会将我的经历讲给大家听,希望听完后,大家会有自己的一个判断。大家好,我是小码哥。不知不觉,入行软件测试也有小7个年头,我先后任职于阿里巴巴(定级过p7)、百度、雪球等公司。待过创业公司也待过上市公司。做过功能测试、自动化测试也做过性能测试。做过测试新人也做过测试组长。曾负责招商证券、恒丰银行短信平台、企业ERP系统、数千万用户量监控平台、家校教育平台等项目;擅长质量过程改善、功能测试、接口测试、Python自动化、lo

gRPC(五)进阶:通过TLS建立安全连接

目录前言一、明文传输二、TLS概述1、什么是TLS?2、TLS的工作流程三、gRPC建立安全连接1、概述2、gRPC加密类型3、server-sideTLS1)流程2)什么是CA?CA证书又是什么?3)什么是SAN?4)目录结构5)生成CA根证书6)生成终端用户证书7)server8)client8)启动&请求4、mutualTLS1)生成服务端证书2)生成客户端证书3)整理目录4)server5)client6)启动&请求前言个人网站:https://linzyblog.netlify.app/示例代码已经上传到github:点击跳转gRPC官方文档:点击跳转一、明文传输先前的例子中gRPC

gRPC(五)进阶:通过TLS建立安全连接

目录前言一、明文传输二、TLS概述1、什么是TLS?2、TLS的工作流程三、gRPC建立安全连接1、概述2、gRPC加密类型3、server-sideTLS1)流程2)什么是CA?CA证书又是什么?3)什么是SAN?4)目录结构5)生成CA根证书6)生成终端用户证书7)server8)client8)启动&请求4、mutualTLS1)生成服务端证书2)生成客户端证书3)整理目录4)server5)client6)启动&请求前言个人网站:https://linzyblog.netlify.app/示例代码已经上传到github:点击跳转gRPC官方文档:点击跳转一、明文传输先前的例子中gRPC