账号,手机号,一类的信息。
用户信息一般是放在session或者token中。
前端需要用到用户的情况一般较少,有用到的在登陆后就应该最获取的用户数据进行处理,而不是在需要使用的地方,这样,在特定使用场景下是拿不到用户完整信息的,只有处理过的相关信息,这对简化逻辑也是有利的。
另外,在前端存的用户数据应该是很简单的,用户名称之类的,主要数据获取之后就转化成框架内部数据,比如,前端权限控制,判断用户对哪些操作有权限,就可以将这部分数据转化成框架里权限校验部分的数据,而用户数据则不做存储;对于业务相关的用户信息,还是到后台做处理吧
如果经常用到这些信息(账号,手机号),可以存在sessionStorage里面,但是像密码、用户ID号这些最好还是不要存在前端。前端存的数据都是很容易被人拿到的,但只要不是会损害到用户利益的,还是可以存在本地的,没问题。
如果是要显示在页面中的,且要重复使用的,存在本地。
不显示的登录信息,本地肯定要存,比如 token,phpsession 之类的。
但账号密码,用户uid之类的,不要存在本地。
之前在laracast上面看jeffyway的vue视频 他就是把用户user的信息保存在window下的一个对象里 直接vue调用 有人讨论过安全性 结论就是这和安全性无关 因为前端用到的数据 无论你怎么获取 页面上都一定看得到 从接口获取并不能提高所谓的安全性 因为所有的安全性相关的校验都应在后端处理 前端数据是不被信任的 前端页面只是方便用户操作 无关安全性
比如用户id,有人说很敏感,那你无论何种方式保存,你前端只要用到了,页面上肯定要有,无论你放哪(cookie,js 对象),所以前端人员不用考虑这么复杂,做好该做的(提升用户体验)就行了。
1、账号(不含密码),手机号,头像等一类的信息已经不属于保密私密信息了。存本地没什么的,不存密码就行了;
2、保存本地后,要考虑到信息更新的情况(如果信息更新频繁,或有更新的可能)。
比如本次登陆后,你在A电脑浏览器本地保存了信息;回家用自己笔记本B,更新了个人信息;当你用回电脑A时,你还是读取浏览器本地信息?那就是旧信息了。所以,不管存没存本地,都要走接口确认获取到最新的信息。所以,走后端吧,这类接口效率也很高。显示时使用本地的信息,获取信息接口(接口异步不确定用时)返回结果后再去更新信息显示。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
看数据会不会变,实时性要求怎么样。
1.如果数据不会变,存本地
2.如果数据会变,而且一经变化需要立即体现到页面,那么每次从服务器获取
3.如果会变,但是频率非常低,或者变化了页面上可以不实时提现出来,那么也可以放本地
主要还是看实时性要求