发表于: 2017-06-12 22:40:03
2 1239
今日完成:
部署任务四项目到服务器
学习cookie,session,token
复习了一波nginx操作
听赵宇讲java小课堂
明天计划:
使用DES对用户ID和登录时间加密,生成Token,放入Cookie中,拦截器里通过Cookie中判断Token的有效性来判断用户是否登录。
收获:
熟练操作mysql建库,建表,mysql配置
用IDEA部署web项目时可以在deployment里指定项目路径,这样部署到服务器后就可以不用修改路径,直接访问了
了解了cookie,session,token是干什么的
Cookie
是一个非常具体的东西,值的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。
cookie由服务器生成,发送给浏览器,浏览器把cookie一kv形式保存到某个目录下面的文本文件内,下一次请求同一网站时会把该cookie发送给服务器,由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的
session
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制
来达到保存标识的目的
token
token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
• 客户端使用用户名跟密码请求登录
• 服务端收到请求,去验证用户名与密码
• 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
• 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
• 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
• 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
设置MySQL数据库编码为UTF-8
登陆后查看数据库当前编码:SHOW VARIABLES LIKE 'character%';
修改/etc/mysql/my.cnf (默认安装路径下) (标签下没有的添加,有的修改)
[mysqld]
character_set_server=utf8
[mysql]
default-character-set= utf8
[client]
default-character-set = utf8
重启MySQL服务 service mysql restart
查看数据库编码:SHOW VARIABLES LIKE 'character%';
给root开启远程访问权限
1,给192.168.1.100 权限访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;
给任意IP 访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;
2,mysql> flush privileges;
从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
3,重新启动MySQL服务器。
service mysql restart
遇到问题:
1.在部署项目到服务器后,启动项目发现只能进入到首页,点跳转链接就报错,查看tomcat日志发现是我没建数据库,这坑又踩了一次。。。。。
2.部署web项目踩坑
在tomcat部署项目时,一定要在deployment里填上项目名,这样在服务器运行web项目时就不用加项目名称了,否则点跳转链接会报404
3.
在操作nginx命令时每次输入命令都会提示一个
sudo: unable to resolve host shun
提示不能解析主机shun,在/etc/hosts中存放了网址的解析,计算机上网时,先访问这个文件。
解决办法修改hosts
修改前
127.0.1.1 ubuntu
修改后如下:
127.0.1.1 shun #shun是主机名。
4.nginx反向代理没有成功
该配置的都配置了,就是访问不了
ping shun.com也不通,无反应
评论