如果用户尚未使用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;
}
欢迎任何有关采用策略的提示。
答案 0 :(得分:0)
在Profile Edit活动的onCreate()方法中,检查用户是否已登录。如果用户未登录,则只需使用Intent将其重定向回Login活动。