Java登录专题-----创建用户(一)
Java登录专题-----创建用户(一)
我来填坑了
创建用户
入参 应该包括:
用户姓名,用户密码,用户手机号,用户所属机构
用户版本号,角色id
出参:
没有
数据结构:
JavaBean userInfoModel 用户model实体类
登录方式jwt Json Web Token(JWT )架构
代码逻辑
1.打印入参日志---------线上环境通过日志来进行查看错误
2.检验入参时候为空------抛出异常或者错误
3.创建userInfoModel 用户,将入参转为 该model
4.创建token 该系统采用jwt思想
5.检验token信息,通过token判断所属机构的性质,以及有无权限
6.将用户账号密码,进行去空格
7.检验 账户,密码,邮箱是否符合规范,通过正则表达式进行判断
-
//校验账户是否符合注册规则
-
String accountRegex = "^[a-zA-Z0-9_-]{6,16}$";
-
//校验密码是否符合注册规则
-
String passwordRegex = "^[a-zA-Z0-9]{6,16}$";
-
//正则校验邮箱格式是否符合要求
-
String emailRegex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
-
//校验手机号格式是否符合要求
-
String mobileRegex = "^1[0-9]{10}$";
8.检验手机号
与账户是否已经在系统中注册
9.用md5对密码进行加密
-
String password = userinfomodel.getPassword();
-
String passprefix = "";//生成密码加密前缀
-
Random random = new Random();
-
for (int i = 0; i < 6; i++) {
-
passprefix += random.nextInt(10);
-
}
-
if (EmptyUtils.isNotEmpty(password) && EmptyUtils.isNotEmpty(passprefix)) {
-
String passwordMD5 = MD5Utils.getMD5String(passprefix + password);
-
userinfomodel.setPassword(passwordMD5);
-
userinfomodel.setHidePassword(password);
-
}
-
logger.info("展示未加密的密码:" + userinfomodel.getHidePassword());
-
userinfomodel.setCreateTime(new Date(System.currentTimeMillis()));
-
userinfomodel.setUpdateTime(new Date(System.currentTimeMillis()));
-
userinfomodel.setStatus(Constants.COMMON_YES);//新建角色必定有效
-
userinfomodel.setPasswordPrefix(passprefix);
-
userinfomodel.setFirstLogin(Constants.COMMON_YES);//新建角色首次登陆标记
10.
//为创建的用户分配角色信息 用于为用户分配资源
11.return ;
Java登录专题-----创建用户(一)的更多相关文章
- Dynamics 365创建用户提示:您正在尝试使用已由其他用户使用的域登录来创建用户。如何解决。
摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复287或者20181128可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...
- ORACLE的impdp和expdp命令【登录、创建用户、授权、导入导出】
使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...
- 1.配置桥接,并抓包验证 2.实现免密登录 3.修改登录端口: 22-》2222 4.不允许root用户远程登录 5.创建用户sshuser1,并设置密码,且只允许sshuser1远程ssh登录
1.配置桥接: 抓包时如果有ens160的ICMP,说明我们的桥接搭建成功通过桥接访问到了ens160(这里忘加图片了) (1)创建一个桥接设备和会话 (2)添加设备和会话到桥接设备上 (3)启动从 ...
- linux CentOS中创建用户 无密码登录
首先点击左上角的 “应用程序” -> “系统工具” -> “终端”,首先在终端中输入 su ,按回车,输入 root 密码以 root 用户登录,接着执行命令创建新用户 hadoop: 接 ...
- java.net.URL 模拟用户登录网页并维持session
java.net.URL 模拟用户登录网页并维持session 半成品,并非完全有用 import java.io.BufferedReader; import java.io.InputStream ...
- ajax讲解:“创建用户”和“用户登录”练习
ajax可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面. 接下来,将以例子的形式进行讲解 例一:创建用户 ...
- SQLServer创建用户登录
创建用户登录注意事项 密码是区分大小写的. 只有创建SQL Server登录时,才支持对密码预先进行哈希运算. 如果指定MUST_CHANGE,则CHECK_EXPIRATION和 CHECK_POL ...
- 从主机A得到id_rsa.pub文件,在主机B创建用户danny加入该文件,实现主机A免密登录主机B
操作步骤: 1.主机A 生成公钥id_rsa.pub文件并导出该文件 root@mytest:~# ssh-keygen Generating public/private rsa key pair. ...
- java.net.URL 模拟用户登录网页并维持session【转】
java.net.URL 模拟用户登录网页并维持session 半成品,并非完全有用 import java.io.BufferedReader; import java.io.InputStream ...
随机推荐
- 一分钟安装DolphinScheduler并上手体验
一分钟安装Apache DolphinScheduler并上手体验 1 一分钟安装DolphinScheduler并上手体验 本教程基于DolphinScheduler1.3.2 2 需要准备: 一台 ...
- LuoguP5201 [USACO19JAN]Shortcut(最短路树)
字典序?建树时从小枚举,用\(Dijkstra\)的血泪建好树,\(size\)大小决定贡献 #include <iostream> #include <cstdio> #in ...
- 使用 Vue.js 框架后的感想
前言 用 Vue 已经有段时间了,把自己的所想所悟写下来,每一个想法都是非常宝贵的,记录成为生活,记录成为习惯. 简化开发 Vue 是可以辅助前端工程师开发 Web App 的一种框架,它节省很多时间 ...
- i40e网卡驱动遇到的一个问题
最近在排查一个crash文件的时候,遇到一个堆栈,即软中断收包的时候,skb的关联的dev是null,导致oops, 然后去crash分析的时候,发现skb的dev去不是null. 从oops到cra ...
- linux之间上传下载--SCP
1.远程拷贝文件 [root@rhel8-client01 yum.repos.d]# scp root@192.168.72.149:/etc/yum.repos.d/* . (.表示拷贝到当前文件 ...
- K8S中部署apisix(非ingress)
不使用pvc的方式在K8S中部署apisix-gateway 简介 因为公司项目准备重构,现在做技术储备,之前公司项目使用的ocelot做网关,ocelot是.net平台下的一个网关,也是很不错,但是 ...
- 记一次用arthas排查jvm中CPU占用过高问题
记一次使用arthas排查jvm中CPU占用过高问题.这工具屌爆了 碾压我目前使用的全部JVM工具. 安装 小试 curl -O https://arthas.aliyun.com/arthas-bo ...
- 第九十篇:Vue 具名插槽
好家伙 1.什么是具名插槽? 来简单理解一下, 具有自己名字的插槽,就是具名插槽 我们来尝试使用一下具名插槽: 在Article.vue组件中: <template> <div cl ...
- 集成 Redis & 异步任务 - SpringBoot 2.7 .2实战基础
SpringBoot 2.7 .2实战基础 - 09 - 集成 Redis & 异步任务 1 集成Redis <docker 安装 MySQL 和 Redis>一文已介绍如何在 D ...
- LFS(Linux From Scratch)构建过程全记录(二):磁盘分区
写在前面 本文将会详细记录LFS中,构建分区,构建文件系统和挂载分区的全过程 准备新硬盘 为了更加符合"从零开始构建Linux"的要求,我在虚拟机中,新建了一个磁盘 我们将会在这个 ...