Blackberry Persistence store + доступ на уровне пользователя - PullRequest
0 голосов
/ 30 декабря 2011

В настоящее время я работаю над сохранением информации с помощью Blackberry Persistence Store. Я должен сохранить детали в соответствии с уровнем доступа пользователя.

Сценарий: Пользователь 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());
}

1 Ответ

2 голосов
/ 30 декабря 2011

Вы можете создать разные постоянные хранилища для каждого пользователя, используя имя пользователя в качестве ключа

, поэтому вам нужно сделать следующее:

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());
}
...