首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
4,176 阅读
2
十年之约RSS聚合订阅服务上线
3,915 阅读
3
工资发放日的区别
2,882 阅读
4
rsyslogd内存占用过高解决方案
2,615 阅读
5
Nginx反代MinIO后,上传文件签名异常
2,431 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
生活
Java
旅行
学习笔记
教程
服务器
Linux
日记
软件
SpringBoot
服务
Windows
数据库
福利
Spring
系统
SQL
docker
萧瑟
累计撰写
207
篇文章
累计收到
1,514
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
207
篇与
萧瑟
的结果
2022-12-26
Vue集成OnlyOffice组件实现在线预览
最近有个项目需要预览上传的附件(如:PDF、Excel、Word 等),且效果要好,Vue 插件中也有对应的插件:表格使用 xlsx 、文档使用 docx-prrview 、pdf 则使用 iframe 内嵌网页实现,公司的 OA 也是这样实现的,但是效果极差,之前使用 zfile 搭建私有网盘发现了一个 OnlyOffice 组件,实属不错,刚好对接一下,实现了附件预览。
2022年12月26日
1,832 阅读
1 评论
2022-12-22
Java mybatis中#和$的区别
在mybatis中#和$的主要区别是:#传入的参数在SQL中显示为字符串,$传入的参数在SqL中直接显示为传入的值. #方式能够很大程度防止sql注入,$方式无法防止Sql注入; 1、传入的参数在SQL中显示不同#传入的参数在SQL中显示为字符串(当成一个字符串),会对自动传入的数据加一个双引号。例:使用以下SQLselect id,name,age from student where id =#{id} 当我们传递的参数id为 "1" 时,上述 sql 的解析为: select id,name,age from student where id ="1"$传入的参数在SqL中直接显示为传入的值例:使用以下SQLselect id,name,age from student where id =${id} 当我们传递的参数id为 "1" 时,上述 sql 的解析为: select id,name,age from student where id =12、#可以防止SQL注入的风险(语句的拼接);但$无法防止Sql注入。3、$方式一般用于传入数据库对象,例如传入表名。4、大多数情况下还是经常使用#,一般能用#的就别用$;但有些情况下必须使用$,例:MyBatis排序时使用 order by 动态参数时需要注意,用$而不是#。
2022年12月22日
143 阅读
0 评论
2022-12-09
Java 工具类Util中的@Value注解注入为空解决方案
Java 工具类Util中的@Value注解注入为空 解决方案
2022年12月09日
317 阅读
0 评论
2022-10-30
2022年10月碎碎念
2022年10月碎碎念:减少无效社交,增强自己的知识储备
2022年10月30日
637 阅读
17 评论
2022-10-29
CAS 单点登录服务端部署
CAS 介绍CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。特点开源的企业级单点登录解决方案。CAS Server 为需要独立部署的 Web 应用。CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。CAS属于Apache 2.0许可证,允许代码修改,再发布(作为开源或商业软件)。从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。下图 是 CAS 最基本的协议过程:CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份核实,以确保 Service Ticket 的合法性。在该协议中,所有与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工作过程中会有 2 次重定向的过程,但是 CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。另外,CAS 协议中还提供了 Proxy (代理)模式,以适应更加高级、复杂的应用场景,具体介绍可以参考 CAS 官方网站上的相关文档。CAS服务端部署PS:本服务搭建为测试服务,所使用域名和配置均为内网,仅供参考,不代表实际环境,且未部署HTTPS,如测试环境中报错,请配置HTTPS,错误描述为:“未认证授权的服务”环境要求CAS服务端war:下载地址Tomcat:下载地址MySQL5.7:自行配置部署教程1、将war包放入tomcat/webapps下,启动tomcat将会自动解压,启动成功后,我们将目录修改为cas-server;再次重启tomcat,访问:http://127.0.0.1:8080/cas-server/login出现以上界面,则说明服务正常启动。默认账户和密码为:casuser/Mellon2、登录MySQL数据库,创建用户表,用于对接CAS用户认证-- 创建cas_user表 DROP TABLE IF EXISTS `cas_user`; CREATE TABLE `cas_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) DEFAULT NULL, `password` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- 创建第一个用户 admin 默认密码123456 此处密码需使用MD5加密 insert into `cas_user`(`id`,`username`,`password`) values (1,'admin','e10adc3949ba59abbe56e057f20f883e');3、修改CAS服务端配置,配置自定义用户表,以及用户密码MD5加密打开 tomcat/webapps/cas-server/WEB-INF/classes/application.properties 文件,将初始密码注释,并添加MySQL配置信息。此处一般为该文件末尾。#CAS Authentication Credentials #cas.authn.accept.users=casuser::Mellon cas.authn.jdbc.query[0].url=jdbc:mysql://ip:3306/test_cas?serverTimezone=GMT cas.authn.jdbc.query[0].user=root cas.authn.jdbc.query[0].password=123456 cas.authn.jdbc.query[0].sql=select * from cas_user where username=? cas.authn.jdbc.query[0].fieldPassword=password cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8 #MD5加密策略 cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5 cas.tgc.secure=false cas.serviceRegistry.initFromJson=true4、将MySQL驱动Jar包放入:tomcat\webapps\cas\WEB-INF\lib 中,重启Tomcat服务,即可。MySQL 驱动Jar包:下载地址5、再次打开CAS登录页面,使用MySQL中配置的账号,即可登录系统。本文参考:https://github.com/apereo/cas-overlay-template
2022年10月29日
299 阅读
3 评论
2022-09-11
oracle.jdbc.driver.OracleDriver is deprecated.Having use oracle.jdbc.OracleDriver.
最近的状态就是忙、加班、加班。刚刚闲下来,想起来今天项目中遇到一个异常,有些强迫症就想把它解决了,顺便水篇文章。oracle.jdbc.driver.OracleDriver is deprecated.Having use oracle.jdbc.OracleDriver.这个原因是:oracle.jdbc.driver.OracleDriver连接过时了,改成oracle.jdbc.OracleDriver即可.水完文章睡觉,明天继续加班。
2022年09月11日
795 阅读
4 评论
2022-08-29
20220805观《独行月球》小感
自己欠了好多篇博文,只能想起来就顺手补个一篇。上次应该是七夕,也是我家小可爱的生日。当天因为工作忙也没啥准备的,就一起约初八看个电影,写一写这部电影的相关小感。剧情简介人类为抵御小行星的撞击,拯救地球,在月球部署了月盾计划。陨石提前来袭,全员紧急撤离时,维修工独孤月因为意外,错过了领队马蓝星的撤离通知,一个人落在了月球。不料月盾计划失败,独孤月成为了“宇宙最后的人类”,开始了他在月球上破罐子破摔的生活……剧照随拍个人点评独孤月能绕月一周抵达补给站,能徒手与赤大袋鼠搏斗,能举起核弹冲向陨石块,但始终没有勇气向她当面表白。和她的人遥远得犹如地月远在天边,和她的心比邻得仿佛光亮近在咫尺。这场灾难证明了人类在自然面前无比渺小,这次营救证明了人类在危机面前无比强大。后来将所有勇气与爱化成星环,守护蔚蓝的星球。因为我们大多数人总是太渴望别人成为英雄,而更情愿自己作为中间人。但末世真的来临,或许每个普通人都可能被推上英雄的位置。而现实证明,很多命运选择的普通人用自己的生命成为了我们的英雄。中间是智慧,但人类需要英雄。本剧笑点挺好的,断断续续的,算是轻喜剧吧,值得去影院一观。
2022年08月29日
598 阅读
10 评论
2022-08-27
[福利]京东Plus会员免费领取体检套餐
活动仅限京东Plus会员,打开京东APP,扫码进入活动页面,免费领取爱康国宾体检套餐权益。【爱康国宾】价值499元体检免费领:体检项目包含心血管早期筛查、血尿常规、肝肾功能、血脂/尿酸等20余项,无二次消费;活动介绍领取时间:2022-08-19 15:03 至 2022-08-31 23:59兑换码有效期:2022年12月31日;此权益仅限在爱康集团旗下爱康国宾分院普检区域使用(爱康国宾VIP、爱康卓悦、爱康君安不可使用)。适用城市如下:北京、上海、南京、广州、深圳、成都、杭州、福州、沈阳、天津、苏州、重庆、长春、烟台、潍坊、威海、长沙、银川、固原、武汉、芜湖、西安、宁波、贵阳、六盘水、凯里、毕节、兴义、遵义、都匀、同仁、无锡、绵阳、镇江、青岛、佛山、东莞、张家界、温州、泰州、孝感、德阳、株洲、郑州、合肥此权益不能转售、不能兑换现金;如有疑问请咨询爱康体检宝APP在线客服。使用教程检测项目领取地址
2022年08月27日
1,897 阅读
6 评论
2022-08-17
Linux配置nginx开机自启动
今天部署服务,不小心搞坏服务器,后来重置了,从新部署了相关服务,其中重启了一次,发现Nginx没有启动,想起来没有配置开机自启,来做个记录,水篇文章。创建开机自启脚本cd /etc/systemd/system vi nginx.service内容:[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.targetNginx相关命令设置开机自启动systemctl enable nginx启动nginx服务systemctl start nginx.service重新启动服务systemctl restart nginx.service查看服务当前状态systemctl status nginx.service停止开机自启动systemctl disable nginx.service
2022年08月17日
540 阅读
12 评论
2022-08-07
Oracle定义DES加密解密及MD5加密函数
最近在研究公司的中台,通过 数据库服务化 提供接口对外使用,部分敏感数据需要加密,且根据密文可解密,这让我就发现了数据库加密函数,现在分享给大家。DES加密函数create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is v_text varchar2(4000); v_enc varchar2(4000); raw_input RAW(128) ; key_input RAW(128) ; decrypted_raw RAW(2048); begin v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0)); raw_input := UTL_RAW.CAST_TO_RAW(v_text); key_input := UTL_RAW.CAST_TO_RAW(p_key); dbms_obfuscation_toolkit.DESEncrypt(input => raw_input,key => key_input,encrypted_data =>decrypted_raw); v_enc := rawtohex(decrypted_raw); dbms_output.put_line(v_enc); return v_enc; end;DES解密函数create or replace function decrypt_des(p_text varchar2,p_key varchar2) return varchar2 is v_text varchar2(2000); begin dbms_obfuscation_toolkit.DESDECRYPT(input_string => UTL_RAW.CAST_TO_varchar2(p_text),key_string =>p_key, decrypted_string=> v_text); v_text := rtrim(v_text,chr(0)); dbms_output.put_line(v_text); return v_text; end;MD5加密函数CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); BEGIN retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ; RETURN retval; END;函数使用示例DES加密:select encrypt_des('', '密文');DES解密:select decrypt_des('', '密文')MD5加密:md5('');结尾语此函数未对null和空数据进行判断,可能会出现错误,请自行调整业务需求
2022年08月07日
590 阅读
4 评论
1
...
7
8
9
...
21