项目2

作者: 聚在散里 | 来源:发表于2017-09-21 12:31 被阅读0次

    基于token的用户认证机制

    HTTP是一种无状态协议,用户通过浏览器访问服务端的每次请求都是相互独立的,服务端无法根据HTTP请求来识别用户

    Cookie Session 技术来记录访问者的基本信息

    Cookie

    储存在用户客户端上的数据

    不可跨域名性

    if(map.containsKey("ticket")) {

    Cookie cookie =newCookie("ticket", map.get("ticket").toString());

    cookie.setPath("/");

    if(rememberme) {

    cookie.setMaxAge(3600*24*5);

    }

    response.addCookie(cookie);

    Session

    Session对象储存特定用户会话的属性及配置信息,实现会话保持和跟踪

    HTTP是一种无状态协议,用户通过浏览器访问服务端的每次请求都是相互独立的,服务端无法根据HTTP请求来识别用户

    项目介绍 ,主要负责数据库表结构的设计

    设计表结构是否将常更新的字段与不长更新的字段分离,大字段与小字段分离,经常查询的组合放在一个表中, 是否满足数据库范式,索引应该建立在那一列上,选择哪种引擎,数据大小的选择。

    user  表包含id name password salt head 四个字段 首先满足第一范式 列的原子性,每一列属性都是不可分割的

    满足第二范式 ,每个表必须有一个主键 (id为主键)表中所有列必须完全依赖于主键不能依赖于主键的一部分(表中未使用复合主键无此问题)减少数据库冗余

    满足第三范式,表中的每一列都直接依赖于主键(id),没有间接依赖与主键

    索引的选择因为登录和注册的时候都需按name查询所以在name作为索引

    数据大小的选择,salt字段在代码设计是是生成一个RandomUUID截取5个字符所以长度选择5就足够。

    innodb的特性  InnoDB是一个健壮的事务型存储引擎尽量选择innodb引擎

    表中要增加唯一索引,在网络卡的时候用户会重复点击提交,会向数据库查人重复记录,前段代码可以拦截【唯一索引是最后一道防线了,高并发的时候如果前端,代码,缓存都没有拦截住重复数据这里就会起到关键的作用】

    数据库表结构设计不好会带来很大麻烦,降低性能

    分表分库,读写分离,分布式数据库,

    相关文章

      网友评论

          本文标题:项目2

          本文链接:https://www.haomeiwen.com/subject/ruczsxtx.html