目的:java实现跨域登陆功能
工具:
1、前台 vue + axios
2、后台 springboot + mybatis + sping
简单描述一下功能:
1、做一个前后端分离项目,实现一个登陆功能。
2、当用户输入了用户名和密码,点击了 登陆按钮 ,就去后台对比数据,如果数据对比成功,就把该用户信息存储到 session 中去,然后,返回一个 true。 前台接受到了 true 就返回到主页,并且把是否登陆标识设置为 已经登陆。
3、主页有一个默认的方法,就是去后台查询 session,中是否有一个叫 user 的用户信息。使用 vue 的 v-if 来显示 登陆,还是已经登陆。
4、登陆成功之后,会显示用户名,鼠标放在上面的时候,会出现一个下拉菜单,里面有一个退出功能,点击了,就去后台把 session 中的用户数据给删除掉,返回给前台一个 true、前台把 是否登陆标识 设置为false。
5、登陆标识符 放在 vuex 里面。
6、所有的请求 都是通过 axios 的ajax去完成的
问题:
1、当就在主页退出的时候,因为就在主页路由没有改变而不会刷新页面。 解决办法:给路由后面加上一个随机数。
2、使用 axios 的ajax发送 json的时候,总是带有 key。 解决办法:
this.$ajax.post( url,
JSON.stringify(this.inputUser)
)
3、最大的问题,还是 登陆 把user 存入的session 和 主页去session 中获取数据的session。不是同一个 session。解决办法: