1

是否可以使用会话存储在登录时存储用户实体,以便在任何地方都可以轻松访问sessionStorage.myUser

例子:

userObject = {
    ID: myUser.ID,
    name: myUser.username,
    fullName: myUser.fullName,
    belongsTo: ["User"],
    storage: {
        myUser: myUser // wakanda entity
    }
}; 
4

2 回答 2

2

sessionStorage对象只能存储简单元素(Int、String、JSON、Boolean、Array )

如果目录中用户的 ID 与数据库中同一用户的 ID 不同,您可以将后者存储在存储中,并在以后使用它来访问用户实体。由于用户实体已经在缓存中,这将很快。

于 2016-07-07T15:46:34.507 回答
0

如果您想这样做,您可以从您需要的实体中获取所有数据,并将其添加到storage会话对象的属性中。例如,这里是我如何将用户数据存储在从实体中获取的存储中

var userEntity = ds.TableName.find("fieldName = :1", fieldValue);`

var putIntoStorage = {myEmail: userEntity.email, myAddress: userEntity.address};`

userObject = {
    ID: myUser.ID,
    name: myUser.username,
    fullName: myUser.fullName,
    belongsTo: ["User"],
    storage: putIntoStorage
};

例如, currentSession().storage.myEmail;在服务器端运行将返回您从实体中抓取并放入您存储的对象中的电子邮件storage。如果您对此有任何疑问,请告诉我。

于 2016-07-07T20:32:41.933 回答