Я хотел бы запретить доступ к активности, скажем, деятельности по редактированию профиля пользователя, если пользователь еще не выполнил вход с запросом REST на сервер.Запретить доступ к активности при входе пользователя
На данный момент, после того как пользователь успешно вошел в систему, он хранится локально в настройках телефона.
protected void onPostExecute(ResponseEntity<User> responseEntity) {
HttpHeaders headers = responseEntity.getHeaders();
if (null != headers) {
List<String> values = headers.get(Constants.LOGGED_IN_USER_AUTH_TOKEN);
if (null != values && values.size() > 0) {
String token = values.get(0);
if (null != token) {
loginActivity.storeUser(responseEntity.getBody(), token);
}
}
}
}
public void storeUser(User user, String token) {
if (null != user) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = settings.edit();
editor.putString(Constants.LOGGED_IN_USER_EMAIL, user.getEmail());
editor.putString(Constants.LOGGED_IN_USER_JWT, token);
editor.apply();
Intent intent = new Intent(getApplicationContext(), UserProfileActivity.class);
startActivity(intent);
}
}
Мне интересно, как запретить доступ к деятельности по редактированию профиля.
Вот как я получить сохраненный адрес электронной почты от предпочтений:
private boolean getProfile() {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String email = settings.getString(Constants.LOGGED_IN_USER_EMAIL, null);
String token = settings.getString(Constants.LOGGED_IN_USER_JWT, null);
new UserProfileAsyncTask(this, email, token).execute();
return false;
}
Любые намеки на стратегии принять приветствуются.
Это означает, что я должен добавить эту проверку в каждое действие, которое требует, чтобы пользователь вошел в систему. Любая стратегия о том, как реализовать это один раз для нескольких действий? – Stephane
Я не думаю, что есть другой способ сделать это. Так мы и делаем вещи в веб-приложениях. Кроме того, это простая проверка if-else. –