Большинство доступных приложений предоставляют возможности только для одиночных пользователей, но представьте, что вы хотите разработать приложение, которое позволит пользователям переключаться между учетными записями. И сразу же у нас возникает как минимум 2 вопроса: как сохранять полномочия пользователей и как дать им возможность легко переключаться?
Хранение учетных данных:
Credential Locker, доступный через класс PasswordVault, позволяет добавлять, получать или удалять учетные данные пользователя в защищенном режиме (все пароли в зашифрованном виде и недоступны для других пользователей).
Использование PasswordVault довольно простое:
private void AddCredentials(string userName, string password) { var passwordVault = new Windows.Security.Credentials.PasswordVault(); passwordVault.Add(new PasswordCredential(AppName, userName, password)); } private bool CheckCredentials(string userName, string password) { var retVal = false; var passwordVault = new Windows.Security.Credentials.PasswordVault(); try { var passwordCredential = passwordVault.Retrieve(AppName, userName); if (passwordCredential != null) { retVal = passwordCredential.Password == password; } } catch (Exception) { // If the passwordvault does not contains the credentials retVal = false; } return retVal; }
После добавления, полномочия можно просмотреть с помощью Credential Manager’а:
Итак, теперь, когда полномочия сохраняются и мы знаем как их извлечь, давайте посмотрим как их отображать.
AccountsSettingsPane — это новый класс в ОС Windows 8.1, который позволяет добавить команду “Учетные записи” в всплывающем окне настроек. Эта команда доступна, например, в нативном приложении почты:
Чтобы добавить запись в SettingsPane, просто добавьте команду на SettingsPage:
Во-первых вам необходимо добавить обработчик события CommandRequested:
Наконец, все волшебство появляется в конце, где вы добавляете учетную запись провайдера для вашего приложения и, для каждой учетной записи, вы добавляете команду (с указанием, какие действия пользователь может производить, когда он выберет свою учетную запись):
Теперь вы можете создавать более универсальные и гибкие приложения для ваших пользователей.
Исходный код доступен здесь.
Ссылка на источник: [Windows 8.1] Managing multiples users accounts in your Windows Store application
Добавить комментарий