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. 自动提交本地git仓库脚本

    #! /bin/bash git_user_name=`git config user.name` git_user_mail=`git config user.email` branch_name= ...

  2. 分布式二级缓存组件实战(Redis+Caffeine实现)

    前言 在生产中已有实践,本组件仅做个人学习交流分享使用.github:https://github.com/axinSoochow/redis-caffeine-cache-starter 个人水平有 ...

  3. Git 09 IDEA撤销提交

    参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 如果提交了不 ...

  4. 如果让我设计一套,TPS百万级API网关!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 是滴,小傅哥又要准备搞事情了!这次准备下手API网关项目,因为这是所有互联网大厂都有的一个核心 ...

  5. 多种方法在Markdown加入上划线、中划线、下划线

    上划线和下划线不是Markdown自身语法,因此需要一点摸索,特将结果记录于此 1.中划线 中划线是markdown自身语法,实现起来很简单: ~~中划线~~ 实现的效果如下: 中划线 2.下划线 2 ...

  6. 未完待续【java】JavaEE学习路线总览

    这个博客会详细介绍各种技术的知识点,从零基础到入门,充当引路的作用. 同时也会发布一些Swift语言.c#语言.Xcode开发的学习笔记.一些阅读的笔记(部分读书笔记无法发布). 目前1-43的Jav ...

  7. PerfView专题 (第十二篇):对 C# 下的 SDK 类库进行监控(大结局)

    一:背景 本篇是我们系列文章的最后一篇,前面的文章中大多是在 CLR Runtime 以及 OS 层面进行监控来发现各种可疑的程序问题,除了这两个层面,其实我们还可以对 SDK 中一些类进行洞察,比如 ...

  8. DataRow修改某一Cell的值

    发现ItemArray并不能改变DataRow的值,之前用ItemArray来复制整行数据的操作. 实际上可以直接用DataRow[]就可以直接改变对应Cell的值.

  9. HCNP Routing&Switching之DHCP安全

    前文我们了解了MAC地址防漂移技术,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16632239.html:今天我们来了解下DHCP安全相关话题: 回顾DHC ...

  10. 项目实践2:(问卷)用html和css做一个网页

    好家伙,又来写项目了 1.以下是考题,姑且把他理解为甲方吧. 2.以下是附带的题目素材 开干.