0

我目前正在使用黑莓持久性存储保存信息。我必须根据用户级别的访问权限保存详细信息。

场景:用户 1 已登录并将一些详细信息保存到持久存储,然后用户 2 登录。用户 1 保存的数据不应该对用户 2 可用。你能指导我如何解决这个问题。

我正在使用下面的代码。

try {       
    store = PersistentStore.getPersistentObject(key);
    CodeSigningKey codeSigningKey = CodeSigningKey.get("ACME");
       synchronized (store) {
        objectsList = new Vector();
        store.setContents(new ControlledAccess(objectsList,codeSigningKey));
        store.commit();
       }
   } catch (Exception e) {
       Dialog.inform(e.toString());
}
4

1 回答 1

2

您可以使用用户名作为键为每个用户创建不同的持久存储

所以你应该做的是以下

try {

String username="joe";
String key =StringUtilities.stringHashToLong (username); 
store = PersistentStore.getPersistentObject(key);

CodeSigningKey codeSigningKey = CodeSigningKey.get("ACME");

synchronized (store) {
    objectsList = new Vector();
    store.setContents(new ControlledAccess(objectsList, codeSigningKey));
    store.commit();
}
} catch (Exception e) {
Dialog.inform(e.toString());
}
于 2011-12-30T09:59:46.850 回答