将用户实体添加到会话存储属性以便于访问

时间:2016-07-07 04:12:55

标签: wakanda

可以使用会话存储在登录时存储用户实体,以便在sessionStorage.myUser

的任何地方都可以轻松访问

示例:

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

2 个答案:

答案 0 :(得分:2)

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

如果目录中的用户ID与数据库中同一用户的ID不同,您可以将更高版本的ID存储在存储中,并稍后使用它来访问用户实体。由于用户实体已经在缓存中,因此速度很快。

答案 1 :(得分: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中存储的对象中。如果您对此有任何疑问,请告诉我。