首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
3,341 阅读
2
十年之约RSS聚合订阅服务上线
2,754 阅读
3
工资发放日的区别
2,468 阅读
4
rsyslogd内存占用过高解决方案
2,323 阅读
5
Nginx反代MinIO后,上传文件签名异常
2,169 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
生活
Java
旅行
学习笔记
教程
Linux
服务器
软件
SpringBoot
日记
Windows
服务
数据库
福利
Spring
系统
SQL
docker
萧瑟
累计撰写
195
篇文章
累计收到
1,355
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
195
篇与
萧瑟
的结果
2022-12-09
Java 工具类Util中的@Value注解注入为空解决方案
Java 工具类Util中的@Value注解注入为空 解决方案
2022年12月09日
196 阅读
0 评论
2022-10-30
2022年10月碎碎念
2022年10月碎碎念:减少无效社交,增强自己的知识储备
2022年10月30日
332 阅读
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日
203 阅读
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日
697 阅读
4 评论
2022-08-29
20220805观《独行月球》小感
自己欠了好多篇博文,只能想起来就顺手补个一篇。上次应该是七夕,也是我家小可爱的生日。当天因为工作忙也没啥准备的,就一起约初八看个电影,写一写这部电影的相关小感。剧情简介人类为抵御小行星的撞击,拯救地球,在月球部署了月盾计划。陨石提前来袭,全员紧急撤离时,维修工独孤月因为意外,错过了领队马蓝星的撤离通知,一个人落在了月球。不料月盾计划失败,独孤月成为了“宇宙最后的人类”,开始了他在月球上破罐子破摔的生活……剧照随拍个人点评独孤月能绕月一周抵达补给站,能徒手与赤大袋鼠搏斗,能举起核弹冲向陨石块,但始终没有勇气向她当面表白。和她的人遥远得犹如地月远在天边,和她的心比邻得仿佛光亮近在咫尺。这场灾难证明了人类在自然面前无比渺小,这次营救证明了人类在危机面前无比强大。后来将所有勇气与爱化成星环,守护蔚蓝的星球。因为我们大多数人总是太渴望别人成为英雄,而更情愿自己作为中间人。但末世真的来临,或许每个普通人都可能被推上英雄的位置。而现实证明,很多命运选择的普通人用自己的生命成为了我们的英雄。中间是智慧,但人类需要英雄。本剧笑点挺好的,断断续续的,算是轻喜剧吧,值得去影院一观。
2022年08月29日
463 阅读
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,411 阅读
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日
419 阅读
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日
505 阅读
4 评论
2022-07-25
免费半年通配符SSL(支持IP)申请教程
今天偶然在hostloc看到可以申请IP SSL证书的,顺手整理一下,防止下次找不到了。官方脚本使用说明## IPv6 acme.sh --issue -d 2402:4e00:1a10:1500:0:9557:d561:34ed --webroot /home/wwwroot/ --server https://acme.hi.cn/directory ## IPV4 acme.sh --issue -d 1.2.3.4 --webroot /home/wwwroot/ --server https://acme.hi.cn/directory ## 通配符 acme.sh --issue -d \*.example.com -d example.com --dns dns_dp --server https://acme.hi.cn/directory官方说明不支持.ru、.by、.su域名(DigiCert、Sectigo对俄罗斯、白俄罗斯禁入)。受限于与CA合作的条款,以及我们的EULA/TOS,禁止基于我们服务提供任何GUI。IPv6 、.onion有效期90天(CA限制)。不支持除 acme.sh 之外的客户端! ACME.sh YYDS!部署教程## 安装 acme.sh curl https://get.acme.sh | sh -s email=my@example.com ## 安装完成后切换到安装目录 cd ~/.acme.sh/ ## 以宝塔为例 ## 创建网站,设置域名为自己的IP地址/域名,复制站点目录(BT:/www/wwwroot/[你的IP/域名]) ./acme.sh --issue -d [你的IP] --webroot [你的网站目录] --server https://acme.hi.cn/directory ## 申请成功后,在 /root/.acme.sh/[你的IP/域名] 目录 可以看到 ## [你的IP/域名].cer ## [你的IP/域名].key ## ca.cer ## fullchain.cer ## 复制[你的IP/域名].key的内容到BT的 密钥(KEY) 文本框中 ## 复制[你的IP/域名].cer ca.cer到pem格式的 证书(PEM格式) 文本框中效果如下:有需要的快来申请使用。 原文地址:https://hostloc.com/thread-1050449-1-1.html
2022年07月25日
467 阅读
13 评论
2022-07-11
Nacos集群部署
Nacos集群部署需提前准备 Nginx 服务和 MySQL 服务,Nginx的作用是做反向代理和负载均衡;本文档基于NACOS 2.1.0版本 服务器配置建议 2核 CPU / 4G 内存 及其以上,三个节点(官方建议)网络拓扑图其实 Nginx 应该部署到一台对外环境,而不是部署到节点中。 部署集群1.导入初始化默认SQL:将下载好的软件解压,在conf目录中有一个 nacos-mysql.sql 文件,导入到数据库中2.修改集群配置 将部署的三台节点的配置都修改成一样的 ## 当前位于解压后的nacos目录下 cd conf cp cluster.conf.example cluster.conf vi cluster.conf ## 将实例的删除或注释 替换成部署的节点地址 必须IP+端口 10.10.84.226:8848 10.10.84.229:8848 10.10.84.234:8848 ## 修改完保存配置3.修改数据库配置 将部署的三台节点的配置都修改成一样的 ## 当前位于解压后的nacos目录下 cd conf vi application.properties ## 找到 Config Module Related Configurations 将数据库修改为正式数据库地址和账号密码4.启动各节点服务## 当前位于解压后的nacos目录下 cd bin ## 直接执行启动脚本,无需添加任何参数 sh startup.sh5.查看服务环境默认账号密码:nacos/nacos 请勿将Nacos内部系统暴露到公网.集群管理→节点列表 各节点IP状态为UP则部署完成配置负载进入Nginx配置文件目录,修改nginx.conf文件,在server标签上 添加以下代码upstream nacos-cluster{ server 10.10.84.234:8848; server 10.10.84.226:8848; server 10.10.84.229:8848; }在80端口http标签内添加管理端反代location /nacos/{ proxy_pass http://nacos-cluster; }新建一个server标签监听指定端口,用于转发请求server { listen 8048; server_name localhost; location / { proxy_pass http://nacos-cluster/; } }这样配置就可以了。程序中直接配置 10.10.84.234:8048 可以将应用注册到Nacos集群中 8048端口会将请求均衡分散在三个节点上。
2022年07月11日
182 阅读
2 评论
1
...
6
7
8
...
20