发表于: 2017-10-22 23:21:48
1 828
今日完成:
为后续方便测试,开放服务器上数据库端口3306
对LINUX服务器中的数据库root用户进行授权访问.
更改Url请求路径使用rest风格,但这里要注意一个问题
这里测试时没用ajax,直接使用form表格使用POST提交,在对方法使用hidden进行影藏,如下
再web.xml中添加该滤器后,对controller访问之后进行return,如果方法为put或delete那么一定要进行重定向,而不是转发!
重定向后将请求方式变为默认GET,这样就不会报错405了. 天坑一个!
任务4的坑差不多填完,继续任务5
首先想实现一个自动登录功能,在第一次手动登录时,使用cookie将用户名加"",""加密后的密码存放,以逗号分割,这里注意存取cookie中存在中文的问题
模拟Demo
// 模拟Cookie
Cookie cookie1 = new Cookie("num", "001");
Cookie cookie2 = new Cookie("name", URLEncoder.encode("张三", "UTF-8"));
response.addCookie(cookie1);
response.addCookie(cookie2);
// 获取Cookie
Cookie[] cookies = request.getCookies();
String cookieNum = "";
String cookieName = "";
for (Cookie cookie : cookies)
{
if ("num".equals(cookie.getName()))
{
cookieNum = cookie.getValue();
}
else if ("name".equals(cookie.getName()))
{
cookieName = URLDecoder.decode(cookie.getValue(), "UTF-8");
}
}
后台代码如下
测试结果
OK,在首页登录时进行校验,在校验过程发现死活取不到cookie
仔细看
呵呵一看就是spring mvc做的好事,因为当前url请求拦截前缀为/Desk,不手动指定Cookie路径它就自动给你赋值路径前缀,意思就是只有当url路径中有/Desk时,Cookie才会被一起带到请求中,否则gaygay
解决如下:在设置cookie是手动添加路径
自动登录代码如下
测试成功后,再使用des对id+时间加密生成token放入cookie,这里注意将加密后的字符串需要进行手动转码,否则无法传入cookie中!
还有为了防止登出后再进行自动登录,这里要手动清除cookie!
最后进行权限验证,这里对cookie中的token解码和解密除了点问题,貌似交不了..
明日计划:完成task5
问题:如上
收获:各种坑慢慢踩
评论