Java登录专题-----创建用户(一)

我来填坑了

创建用户

入参 应该包括:

用户姓名,用户密码,用户手机号,用户所属机构

用户版本号,角色id

出参:

没有

数据结构:

JavaBean    userInfoModel 用户model实体类

登录方式jwt Json Web Token(JWT )架构

代码逻辑

1.打印入参日志---------线上环境通过日志来进行查看错误

2.检验入参时候为空------抛出异常或者错误

3.创建userInfoModel 用户,将入参转为 该model

4.创建token 该系统采用jwt思想

5.检验token信息,通过token判断所属机构的性质,以及有无权限

6.将用户账号密码,进行去空格

7.检验 账户,密码,邮箱是否符合规范,通过正则表达式进行判断


  1. //校验账户是否符合注册规则
  2. String accountRegex = "^[a-zA-Z0-9_-]{6,16}$";

  1. //校验密码是否符合注册规则
  2. String passwordRegex = "^[a-zA-Z0-9]{6,16}$";

  1. //正则校验邮箱格式是否符合要求
  2. String emailRegex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
  3. //校验手机号格式是否符合要求
  4. String mobileRegex = "^1[0-9]{10}$";

8.检验手机号

与账户是否已经在系统中注册

9.用md5对密码进行加密


  1. String password = userinfomodel.getPassword();
  2. String passprefix = "";//生成密码加密前缀
  3. Random random = new Random();
  4. for (int i = 0; i < 6; i++) {
  5. passprefix += random.nextInt(10);
  6. }
  7. if (EmptyUtils.isNotEmpty(password) && EmptyUtils.isNotEmpty(passprefix)) {
  8. String passwordMD5 = MD5Utils.getMD5String(passprefix + password);
  9. userinfomodel.setPassword(passwordMD5);
  10. userinfomodel.setHidePassword(password);
  11. }

  1. logger.info("展示未加密的密码:" + userinfomodel.getHidePassword());
  2. userinfomodel.setCreateTime(new Date(System.currentTimeMillis()));
  3. userinfomodel.setUpdateTime(new Date(System.currentTimeMillis()));
  4. userinfomodel.setStatus(Constants.COMMON_YES);//新建角色必定有效
  5. userinfomodel.setPasswordPrefix(passprefix);
  6. userinfomodel.setFirstLogin(Constants.COMMON_YES);//新建角色首次登陆标记

10.

//为创建的用户分配角色信息 用于为用户分配资源

11.return ;

Java登录专题-----创建用户(一)的更多相关文章

  1. Dynamics 365创建用户提示:您正在尝试使用已由其他用户使用的域登录来创建用户。如何解决。

    摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复287或者20181128可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...

  2. ORACLE的impdp和expdp命令【登录、创建用户、授权、导入导出】

    使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...

  3. 1.配置桥接,并抓包验证 2.实现免密登录 3.修改登录端口: 22-》2222 4.不允许root用户远程登录 5.创建用户sshuser1,并设置密码,且只允许sshuser1远程ssh登录

    1.配置桥接:  抓包时如果有ens160的ICMP,说明我们的桥接搭建成功通过桥接访问到了ens160(这里忘加图片了) (1)创建一个桥接设备和会话 (2)添加设备和会话到桥接设备上 (3)启动从 ...

  4. linux CentOS中创建用户 无密码登录

    首先点击左上角的 “应用程序” -> “系统工具” -> “终端”,首先在终端中输入 su ,按回车,输入 root 密码以 root 用户登录,接着执行命令创建新用户 hadoop: 接 ...

  5. java.net.URL 模拟用户登录网页并维持session

    java.net.URL 模拟用户登录网页并维持session 半成品,并非完全有用 import java.io.BufferedReader; import java.io.InputStream ...

  6. ajax讲解:“创建用户”和“用户登录”练习

    ajax可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面.   接下来,将以例子的形式进行讲解   例一:创建用户   ...

  7. SQLServer创建用户登录

    创建用户登录注意事项 密码是区分大小写的. 只有创建SQL Server登录时,才支持对密码预先进行哈希运算. 如果指定MUST_CHANGE,则CHECK_EXPIRATION和 CHECK_POL ...

  8. 从主机A得到id_rsa.pub文件,在主机B创建用户danny加入该文件,实现主机A免密登录主机B

    操作步骤: 1.主机A 生成公钥id_rsa.pub文件并导出该文件 root@mytest:~# ssh-keygen Generating public/private rsa key pair. ...

  9. java.net.URL 模拟用户登录网页并维持session【转】

    java.net.URL 模拟用户登录网页并维持session 半成品,并非完全有用 import java.io.BufferedReader; import java.io.InputStream ...

随机推荐

  1. 基于阿里云直播实现视频推流(ffmpeg)/拉流(Django2.0)以及在线视频直播播放(支持http/https)功能

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_146 由于5g网络的光速推广,视频业务又被推上了风口浪尖,在2019年初我们还在谈论照片,短视频等关键字,而进入2020年,我们津 ...

  2. Vue 计算属性 && 监视属性

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  3. 论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》

    论文信息 论文标题:Predict then Propagate: Graph Neural Networks meet Personalized PageRank论文作者:Johannes Gast ...

  4. PLC中增益和偏移

    y=kx+b这个直线方程,那么增益就是指k这个斜率,而偏移就是指b. 模拟量转换时一般是不需要设置这两个参数的,只有当外部信号与模块接收的信号在值上有偏差的情况下才会去调整这个参数. 如果的模块信号是 ...

  5. ROS机械臂 Movelt 学习笔记4 | Move Group 接口 Python

    Python 的使用总是比 C++ 简单许多,Move Group 的 Python 接口更为便捷,也为使用者提供了很多用于操纵机器人和机械臂的函数,能够和 C++ 接口实现相同的功能: 设置机械臂的 ...

  6. 老板加薪!看我做的WPF Loading!!!

    老板加薪!看我做的WPF Loading!!! 控件名:RingLoading 作者:WPFDevelopersOrg 原文链接: https://github.com/WPFDevelopersOr ...

  7. 活动回顾丨ALC Beijing 首场 Meetup:《开源到底有多难?》

    8月16日,ALC Beijing 的首次线下沙龙活动 -- <开源到底有多难?>在微软大厦如期举行.本次沙龙主要是分享开源开发经验.探讨如何让开源项目更加茁壮成长,以及分享 ASF 管理 ...

  8. LuoguP4165 [SCOI2007]组队

    化式子,然后两个指针平\(A\)过去 #include <cstring> #include <cstdio> #include <algorithm> #incl ...

  9. MyBatis 01 概述

    官网 http://www.mybatis.org/mybatis-3/zh/index.html GitHub https://github.com/mybatis/mybatis-3 简介 MyB ...

  10. ASP.NET Core依赖注入系统学习教程:容器对构造函数选择的策略

    .NET Core的依赖注入容器之所以能够为应用程序提供服务实例,这都归功于ServiceDescriptor对象提供的服务注册信息.另外,在ServiceDescriptor对象中,还为容器准备了3 ...