- 博客(28)
- 收藏
- 关注
原创 SpringSecurity如何整合JWT
自定义授权管理属于全局,我们需要让它被spring容器进行管理,所以我们可以把它配置在SecurityConfig配置类中/***/@Autowired//包装用户的密码//需要一个认证管理器,来进行调用//判断认证是否成功//获取用户//认证成功//生成jwt,返回return "";
2024-07-23 03:29:56
660
原创 Spring Security框架如何授权
hasAnyAuthority(String... authorities) 方法,拥有指定任意权限( authority )的用户可访问。hasAnyRole(String... roles) 方法,拥有指定任意角色的用户可访问。hasRole(String role) 方法, 拥有指定角色的用户可访问,传入的角色将被自动增加 “ROLE_” 前缀。hasAuthority(String authority) 方法,拥有指定权限( authority )的用户可访问。admin用户可以访问。
2024-07-23 03:25:19
484
原创 基于Spring Security对密码进行加密和校验
上述代码中,返回的UserDetails或者是User都是框架提供的类,我们在项目开发的过程中,很多需求都是我们自定义的属性,我们需要扩展该怎么办?/***/@Data//固定不可更改//固定不可更改//扩展属性 昵称//角色列表@Override//把角色类型转换并放入对应的集合@Override@Override@Override@Override/***/@Component@Autowired@Override。
2024-07-23 03:19:51
2142
原创 Spring Security快速入门
当设置完自定义的登录页面之后,可以解决两个问题,第一个是访问速度会更快,第二个,自定义的登录页也更美观,下面我们可以自定义页面来设置为登录页将当天资料目录中的登录页面拷贝到我们的项目中的resource 目录下的 static目录。
2024-07-23 03:02:15
1141
原创 Spring Security认证授权介绍
权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。那么如何在项目中实现权限呢?方案一:使用拦截器(过滤器)+JWT实现地址鉴权方案二:使用权限框架Shiro方案三:方案二:使用权限框架Shiro和Spring Security都是成熟的安全框架,在养老项目目前已经在使用Spring框架,那么Spring Security就是更好的选择。
2024-07-23 02:51:31
442
原创 试卷管理系统需求分析
1. 题型支持:支持多种题型,如选择题(单选、多选)、填空题、判断题、简答题、论述题等,以满足不同学科和考试需求。(3)试题表(Questions):用于存储试题的信息,包括试题ID、试题内容、题型、难度、所属科目、所属试卷ID等。(1)用户表(Users):用于存储用户的基本信息,包括用户ID、用户名、密码、角色(如管理员、教师、学生)等。(2)试卷表(Exams):用于存储试卷的基本信息,包括试卷ID、试卷名称、创建时间、考试时间、考试时长等。数据库需要支持数据的存储、查询、更新和删除等操作。
2024-07-15 22:33:28
1026
原创 缓存框架-Spring Cache基本用法
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:EHCacheCaffeineRedis(常用)
2024-07-11 23:26:19
1323
原创 Java中操作Redis
Spring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化 Redis 操作。
2024-07-11 23:12:32
1300
原创 Redis的下载和安装
Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。Redis中文网key-value结构存储:keyvalueid10001name小智city北京基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。
2024-07-11 20:26:47
455
原创 资源树形案列
*** @param resourceDto 资源对象* @return* 资源树形*/@ApiOperation(value = "资源树形", notes = "资源树形")@ApiImplicitParam(name = "resourceDto", value = "资源DTO对象", required = true, dataType = "ResourceDto")
2024-07-11 20:21:58
249
原创 MyBatis Generator代码生成器
MyBatis Generator 作为一个基于 MyBatis 的独立工具,它可以通过简单的配置去帮我们生成数据表所对应的 PO、DAO、XML 等文件,减去我们手动去生成这些文件的时间,有效提高开发效率。
2024-07-10 01:09:05
670
原创 构建者设计模式
对象如何创建?方式有很多,比如以下方式//无参构造,属性赋值member.setName("花开小世界");//有参构造Member member1 = new Member("13312341234","花开小世界",1);对比以上方式,也可以选择更加优雅的方式书写,比如以下代码,也是创建对象,并且赋值.name("花开小世界").gender(1).build();在很多框架中也能看到这样写的身影。这种编写的方式就是构建者设计模式,好处是易于扩展,方便类的使用。
2024-07-09 22:18:43
220
原创 Spring task实现定时任务
是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力,而是由系统自动去执行任务。常用业务场景案例:某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。某银行系统需要在信用卡到期还款日的前三天进行短信提醒。某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。12306会根据车次的不同,设置某几个时间点进行分批放票。如何实现任务调度?多线程方式,结合sleep。
2024-07-09 02:33:57
1061
原创 多线程,ThreadLocal的基本用法
ThreadLocal是Java多线程编程中非常有用的工具类,它提供了一种简单的方式来实现线程局部变量的访问和管理。通过使用ThreadLocal,我们可以在多线程环境下保持数据的独立性,提高程序的并发性能。
2024-07-08 18:44:52
291
原创 实体类,vo,dto区别以及作用
前端需要展示的信息可能并不是同一张的表里的数据,例如前端想要展示菜品的分类信息那么需要的数据不光是菜品表里面的,一个菜品既关联所属的分类,还关联菜品的口味如辣度、冷热等,这时候就需要一个对象来封装这些数据一起返回给前端。举个例子,观察接口文档,前端传来新增菜品的数据时,需要保存该菜品的基本信息,还要保存它的口味和属于那个分类,这时候与数据库表对象的实体类就不能满足了,就需要单独封装一个DTO。entity就是与数据库表一 一对应的,数据库表中有什么字段,entity中就要有什么属性。
2024-07-06 03:34:40
576
原创 微信小程序开发流程、开发者工具下载安装
前往 开发者工具下载页面 ,根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 《开发者工具介绍》。开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序。在这个小程序管理平台,你可以管理你的小程序的权限,查看数据报表,发布小程序等操作。打开小程序开发者工具,用微信扫码登录开发者工具,准备开发你的第一个小程序吧。(1) 进入之后显示这个页面,点击注册。
2024-07-05 01:27:51
190
原创 vue3中父子组件及通信
我们来看下面这个图,有三个组件,组件A的子组件分为是B和C,其中B和C是兄弟关系。我们这次重点研究是父子组件的通信,如果想要实现B和C的通信,需要使用第三方组件pinia才行。
2024-07-03 13:49:00
424
原创 如何用TDesign快速开发前端项目
有一款组件库叫RDesign是基于TDsign来封装的一个组件库,可以更快的创建脚手架项目,达到快速开发的目的。
2024-07-02 23:17:35
513
原创 为什么mybatisX突然不能自动生成mapper的映射文件了
为什么在新建一个mapper接口的同时mybatisx这个插件突然不能自动生成对应的xml文件?MybatisX这个插件安装也没问题,之前就可以自动生成现在就不行了。而且在创建新的mapper接口时,插件的鸟的图标也没有了。
2024-06-30 03:17:52
383
原创 Vue3 实现路由跳转
然后在 view目录下新建两个 vue 页面,分别是 login.vue 和 register.vue。目前 routes 里面还没有路由路径等内容,因此我们要再新建一个 routes.js文件。在 src 目录下新建 router 目录用来存放路由配置的页面。在 src 目录下新建 view 目录用来存放 vue 的页面。在 router 目录下新建 index.js 配置路由。还是在 router 目录下新建 routes.js。四、在 App.vue 中配置路由的跳转。二、新建 vue 页面。
2024-05-28 22:58:45
2508
1
原创 网络编程。。。
广播:给局域网中所有的电脑发送数据255.255.255.255(四字节都是最大),广播就不试了,把单播的地址改为255.255.255.255即可。2.datagramPacket类中传入的数据如果是字符串转换的byte数组,传入长度的时候应该注意什么?2.服务端向客户端返回响应,表示已经收到了客户端的请求,需要等服务器处理完最后的数据。什么范围的端口号被占用?应用程序在设备中的唯一标识,由两个字节表示的整数,范围为0-65535。网络编程:在网络通信协议下,不同的计算机上运行的程序进行的数据传输。
2024-05-15 00:09:22
582
原创 VMware连接FinalShell
然后在保证虚拟机启动的情况下开启FinalShell,这样就连接成功了。再将网关输入到虚拟机的主机这个选项,端口默认一般就是22。首先在在虚拟机中输入ip addr来查看我们系统的网关。
2024-05-08 15:47:48
570
原创 前后端在对数据库数据通过ID做一些操作的时候操作不成功
然后如何解决这个问题,我们可以将在服务端给页面响应的json数据进行处理,将long类型转为String类型,要实现这个效果首先我们要创建一个JacksonObjectMapper的工具类这个工具类相当于就是一个对象映射器可以理解为将Java对象转为json格式,也可以将日志信息转为json格式方便管理。找了很多资料发发现是由于在前端js当中如果后台传来一个64位的Long型整数,因为超过了53位,所以后台返回的值和前台获取的值会不一样。下面的例子可以看到,17位以后的数字变成了0,第17位四舍五。
2024-04-13 20:02:54
229
1
原创 Node.js的删除后再次安装的问题
这种问题就因为没有将node.js完全删除引起的。注:如果之前没有使用过node.js,但下载了只需要在设置中删除应用,在电脑内部删除就可以了,切记直接在桌面删除是删除不完整的。第一步开始菜单搜索uninstall node.js,点击之后等待删除(删除node_modules文件夹以及以下这些文件)到这里其实应该不会影响新版本安装了,如果想要删除的更彻底一些,可以把自己之前配置的系统变量一起删除掉。在之前因为安装过node.js,删除之后再次安装就安装不上了。
2024-04-01 14:45:05
752
1
原创 maven的环境配置问题
编辑环境变量MAVEN_HOME,改为D:\MavenDemo\apache-maven-3.6.1-bin\apache-maven-3.6.1。maven3.2支持jdk1.6及其以上版本,而maven3.0/3.1支持jdk1.5及其以上。此处我用的是jdk1.8, maven3.5.0(jdk1.6报错)。1.报错(这类报错一般就与JAVA_HOME有关系)这个错误是因为maven版本和jdk版本不兼容。2.不是内部或外部命令。
2024-04-01 14:32:39
231
原创 一名小镇程序员对于前后端的认识
前端:作为一个名后端开发来说,我认为前端是一个很需要设计灵感的技,因为前端是在Web应用中用户可以看得见碰得着的东西,如果从学习兴趣的角度来看我认为更多的人会更对前端感兴趣,因为众所周知前端你每敲的一行代码都能在页面中呈现出来能让人有一种成就感,并且随着前端技术的不断发展,前端也出现了很多框架来加快我们的开发效率,同时也开发了很多的组件库方便我们日常的开发,比如dataV,echarts等这些组件库就很不错很方便,自己也经常在用。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
2024-04-01 14:21:26
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人