关于在 SpringBoot 项目中模拟登陆持久化 cookie 的解决方案讨论

2020-07-02 22:47:30 +08:00
 RayGZJ

起因

第一个程序版本--为了学习解放双手

  1. 因为作为管理员需要给员工解锁,当系统检测到当前用户 cookie 失效时,mac 地址会被锁定。员工数量 300-500 。作为管理员,使用者每天会因为各种原因触发系统的 mac 地址锁定机制,导致我每天都要登陆系统,输入工号,再点击解锁。工作效率较低,这直接导致我没时间研究学习 Java,以及在 V2 中学习前辈经验。

  2. 为解放双手,初学者写了个 Jsoup 模拟登陆的 java 小程序,放在 CentOS 通过手机端 ssh 连接直接运行 jar 程序 ,或者直接在 java 程序写个输入循环,java -jar 直接丢 tmux 里面的其中一个会话即可。

  3. 在第一个版本中模拟登陆只需要携带 name 、password 作为POST参数直接发送给指定接口获取 cookie 即可。

  4. 获取 cookie 后,通过 JSoup 访问指定的两个接口即可实现解锁。

    请输入第 1 位,待解锁员工的账号
    XXXXXX //输入的账号
    =================================
     🆔 用户 id 为:121
     👤 ‍姓名:XXX
     🔗 mac 绑定状态:已绑定
    =================================
     📝 职位:经理
     📒 部门:12-3 组
     🔒 15 天锁定状态为:正常
     ✅ 完成! 15 天未锁定!
    =================================
    系统正在检查 XX 的非工作设备锁定状态...
    XX 的非工作设备状态为: 已绑定
     💻 服务器返回的状态为: 清除成功
     ✅ 已自动为 XX 解锁非工作设备!
    =================================
    感谢使用!
    请输入第 2 位,待解锁员工的 CRM 账号
    
    

    第二个版本--SpringBoot 版,解锁更多骚操作

我想实现的...

[^本人是毕业一年的大专生,因为兴趣喜欢研究程序代码,以及自己感兴趣的东西,对于职业前辈来说可能我的实现过程比较幼稚简单奇怪,望见谅!]:

诚信请教各位 V2er 的前辈们,Java 的前辈们以及各类在程序员奋斗的兴趣者们~

2628 次点击
所在节点    Java
7 条回复
RayGZJ
2020-07-02 23:20:40 +08:00
不做白嫖党
有偿解决
EarthChild
2020-07-02 23:43:05 +08:00
BOSS 直聘等 APP 上发布一条招聘信息吧。做完(完善)这个项目给多少钱。明码标价。
RayGZJ
2020-07-02 23:45:04 +08:00
@EarthChild 可以这样搞!? 明天看一看,感谢回复🙏!
EminemW
2020-07-03 00:23:53 +08:00
cookie -> 你确定不是 session ?
EminemW
2020-07-03 00:39:27 +08:00
你用 spring boot 不也可以用 Jsoup 么,做法跟你第一版差不多。
如果你说的手机验证码,是短信验证码,(在不能修改系统代码的情况下)那还是手打比较省事。
正常来说,登录成功后系统下发的 sessionID 是有时效性的,你可以先用旧的 sessionID 请求解锁接口,失败的话再模拟登录。
另外你想持久化所谓的 Cookie,用个文本文件也能存,搞个 MySQL 也能存。Redis 也能存
singerll
2020-07-03 07:22:33 +08:00
不是很明白,锁定信息存在哪里,数据库还是缓存,不能直接扫描数据库字段改后台吗。。。
RayGZJ
2020-07-03 22:58:55 +08:00
@EminemW 认为可行 本周测试下 感谢🙏 写入文本应该简单些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/686703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX