在使用React-admin
框架的时候,碰到这样一个需求,也不能说是需求吧,应该是产品的共性。问题是:当我登陆之后,打开新的标签页TAB(通常是在登陆的主页面上,有些模块会在列表中加上链接,按下Ctrl和鼠标左键,会打开一个新的TAB页面),那么在新页面中应该能和上一个登陆之后的页面共享登陆状态。
但是在React-admin
默认使用的是sessionstorage
来保存保存登陆的数据,如下是React-admin
框架自带的设置登陆用户的方法:
/**
* 设置当前用户信息
* @param loginUser 当前登录用户信息
*/
export function setLoginUser(loginUser = {
}) {
// 将用户属性在这里展开,方便查看系统都用到了那些用户属性
const {
id, name, avatar, token, permissions, menus, groupmenus, grouppermissions, ...others } = loginUser