当前位置: 首页 > news >正文

乌鲁木齐网站制作公司可靠吗长沙h5网站建设

乌鲁木齐网站制作公司可靠吗,长沙h5网站建设,网站建设如何做用户名密码,webstorm网站开发项目训练营第二天 用户登录逻辑 1、账户名不少于4位 2、密码不少于8位 3、数据库表中能够查询到账户、密码 4、密码查询时用同样加密脱敏处理手段处理后再和数据库中取出字段进行对比,如果账户名未查询到,直接返回null 5、后端设置相应的脱敏后用户的s…

项目训练营第二天

用户登录逻辑

1、账户名不少于4位
2、密码不少于8位
3、数据库表中能够查询到账户、密码
4、密码查询时用同样加密脱敏处理手段处理后再和数据库中取出字段进行对比,如果账户名未查询到,直接返回null
5、后端设置相应的脱敏后用户的session值,方便下一次访问时能够更快的到用户数据。

代码如下:

public User UserLogin(String userAccount, String password, HttpServletRequest request) {if (StringUtils.isAnyBlank(userAccount, password)) {return null;}if (userAccount.length() < 4) {return null;}if (password.length() < 8) {return null;}Pattern compile = Pattern.compile(".*[[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\\n|\\r|\\t].*");Matcher matcher = compile.matcher(userAccount);if (matcher.matches()) {return null;}String entryPassword = DigestUtils.md5Hex(SALT + password);QueryWrapper<User> mapperQuery = new QueryWrapper<>();mapperQuery.eq("userAccount", userAccount);mapperQuery.eq("password", entryPassword);User user = userMapper.selectOne(mapperQuery);if (user == null) {log.info("user Login error, userAccount cannot match password");return null;}User safetyUser = new User();safetyUser.setUsername(user.getUsername());safetyUser.setId(user.getId());safetyUser.setUserAccount(user.getUserAccount());safetyUser.setAvatarUrl(user.getAvatarUrl());safetyUser.setEmail(user.getEmail());safetyUser.setPhone(user.getPhone());safetyUser.setGender(user.getGender());safetyUser.setUserStatus(user.getUserStatus());safetyUser.setCreateTime(user.getCreateTime());request.getSession().setAttribute(USER_LOGIN_STATE, safetyUser);return safetyUser;}}
Session和cookie

在这里插入图片描述

request请求(HttpServletRequest request)

前端请求后端一般使用ajax(Asynchronous Javascript And XML,即是异步的JavaScript和XML),它可以异步地向服务器发送请求,在等待响应的过程中,不会阻塞当前页面。
在这里插入图片描述

  • 简单来说,封装后都用request来请求后端,所以上面的参数中要加一个HttpServletRequest request,并且调用它的getSession函数取到Session类,再将它的Attribute类新增一个处于USER_LOGIN_STATE状态的具体用户类。
  • Attribute本质上是一个Map类型的数据结构,用于存储Session
  • USER_LOGIN_STATE是我们自定义的一个字符串,定义在UserService接口类中。

业务逻辑层构建

我们在项目中建一个名为service的文件夹,在该文件夹下面定义一个UserService.java存放如下的接口类。
用于实现注册逻辑、登录逻辑的函数->UserRegister、UserLogin函数都是这个接口的方法。
在这里插入图片描述
在service文件夹中再建一个impl文件夹,在里面建一个UserServiceImpl.java文件,用extends继承该接口,加上@Service注解表示这是业务逻辑层
在这里插入图片描述
我们要将之前生成的数据库操作类UserMapper作为一个成员放入到该类中,并加上@Resource注解,这样就可以自动调用连接上的数据库了。

tips

  • @Slf4j是一个日志注解
  • 密码加密的盐值SALT可自行定义
  • 数据库需要在applications.yml里面配置,具体可参照网上文章来,以自行实践为准。
  • 注解加上后报错需要在pom.xml中添加对应依赖,刷新maven后即可解决。

逻辑删除

Mybatis-plus配置时有一种逻辑删除的封装操作,该字段设置为1后即视为已被删除。

  • 在applications.yml中配置代码如下:
  global-config:db-config:logic-delete-field: isDelete # 全局逻辑删除字段名logic-delete-value: 1 # 逻辑已删除值logic-not-delete-value: 0 # 逻辑未删除值
  • User实体类中设置为逻辑删除的字段前要加@TableLogic注解
    也可自行上官网配置查阅

控制层Controller封装

  • 按照SpringMVC控制层,视图层,处理层的封装逻辑,我们建一个名为Controller的文件夹,一个model.request文件夹。
  • 后者存放接收请求的我们自定义的request类,前者存放调用业务逻辑层函数对request请求进行处理并返回数据的总的一个控制类。
  • Model文件夹中还存放着User实体类,这个文件夹主要也就是用于存放些实体类
    登录请求UserLoginRequest可以这么定义
@Data
public class UserLoginRequest implements Serializable {@Serialprivate static final long serialVersionUID = -543286974259314538L;private String userAccount;private String password;private String CheckPassword;
}

serrialVersionUID自动生成方法在昨天的笔记里。
注册请求UserRegisterRequest可以这么定义,两个request类定义分别放在一个和类名相同的java文件中

@Data
public class UserRegisterRequest implements Serializable {@Serialprivate static final long serialVersionUID = 3253980956799016230L;private String userAccount;private String password;private String CheckPassword;
}
  • Data注解主要是放在一些实体类上,用于提供get、toString等方法。
http://www.yidumall.com/news/195.html

相关文章:

  • 网站新媒体建设seo关键词推广公司
  • 网络优化网站惠州抖音seo策划
  • 北京网站ui设计公司百度竞价推广投放
  • 网站排名不可有利就前网站seo服务公司
  • 西安市做网站公司有哪些海外推广渠道都有哪些
  • 做网站好还是做淘宝好北京网站seo优化推广
  • 微网站制作平台哪个好seo超级外链工具免费
  • 营销网站建设设计优化公司怎么优化网站的
  • 网站建设谈单情景对话郑州seo推广外包
  • 西安注册公司在哪个网站系统cps广告联盟
  • 做网站公司郑州郑州的网站建设公司排名关键词调词平台哪个好
  • 美乐乐网站首页如何修改seo推荐
  • 免费公司网站公司网站排名
  • 安庆做网站电话qq群引流推广平台
  • 做网站用空间好还是服务器好广州seo运营
  • 做网站用discuz还是wp关键词排名优化是什么意思
  • 深圳网站建设公司推荐百度官方网
  • 免费建网站代码九江seo公司
  • 手机网站建设软件临沂森工木业有限公司
  • 网站宣传的好处企业线上培训平台有哪些
  • ui设计作品欣赏网站运营和营销是一回事吗
  • 网站加载速度影响因素百度直接打开
  • 天津网seo 什么意思
  • 中小型企业网站选择什么配置的亚马逊服务器品牌推广的概念
  • 企业网站优化操作东莞今日头条最新消息
  • 网站建设优秀公司站长工具综合查询系统
  • 做1688网站运营工资怎么样企业如何进行网络推广
  • 制作网站团队seo百度首页排名业务
  • 策划书标准格式google关键词优化
  • 手机网站制作推荐线上推广的好处