拒绝用户登录时的活动访问权限

时间:2015-06-13 07:46:52

标签: android

如果用户尚未使用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;
}

欢迎任何有关采用策略的提示。

1 个答案:

答案 0 :(得分:0)

在Profile Edit活动的onCreate()方法中,检查用户是否已登录。如果用户未登录,则只需使用Intent将其重定向回Login活动。