Java登录专题-----创建用户(一)
2024-10-19 19:52:39
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 ;
最新文章
- JavaScript OOP 之「创建对象」
- [Machine Learning &; Algorithm] 神经网络基础
- ASP.NET MVC自定义验证Authorize Attribute
- 使用hessian开发WebService,轻量级,更简单、快捷
- 栈与队列:refresh的停车场
- iSight集成Adams/View:Adams组件
- [电脑常见问题] win8 ie浏览器打不开
- 自定义控件TextView
- java导出txt文本
- 有时间测试dism
- freemarker为null处理
- 自定义xcode文件模板
- C#:求100到200之前所有的质数和
- PHP之this和self
- STL容器的基本特性和特征
- Java9 接口细谈
- linux 基本原则和常用命令
- web前端(12)—— 页面布局2
- node.js 调用第三方服务
- Selenium vs TestStudio,Selenium Grid vs F2Test
热门文章
- inotify 目录文件变更实时监控
- 在oracle中创建管理员密码
- BMP位图之1位位图(一)
- Apache 首次亚洲在线峰会: Workflow & 数据治理专场
- [护网杯 2018]easy_tornado-1|SSTI注入
- LuoguP2575 高手过招(博弈论)
- Atcoder ZONe Energy Programming Contest C - MAD TEAM(二分)
- CCF NOI Online 2021 提高组 赛后心得
- 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(上)
- PostgreSQL 欺骗优化器之扩展统计信息