ユーザーフィールドの1つに特定の値がある場合、ユーザーにサイトへのアクセスのみを許可しようとしています。Drupal 7の特定のユーザーフィールドによるサイトアクセス制御
そうでない場合、サイトにはアクセスが拒否されているはずです。
効率的な方法はありますか?ここ
ユーザーフィールドの1つに特定の値がある場合、ユーザーにサイトへのアクセスのみを許可しようとしています。Drupal 7の特定のユーザーフィールドによるサイトアクセス制御
そうでない場合、サイトにはアクセスが拒否されているはずです。
効率的な方法はありますか?ここ
は、あなたがそれを
を行うことができる方法である
おかげOPTION1
カスタム役割のは、ウェブサイトでの無permisionsと「アクセスが制限されて」と言ってみましょう(編集/削除/ビュー)を作成除きますアカウントを作成するには、これがユーザーのデフォルトロールになります
次に、カスタムロールを作成して、コンテンツを表示するためのパーミッションを「プレミアムアクセス」としましょう
アカウント設定では、希望の値(「限定」、「プレミアム」)のカスタムフィールド(「アクセス」)を追加します。
/admin/config/people/accounts/fields
rullesモジュールを追加し、field_access ==プレミアムはその後、「プレミアムアクセス」に役割を更新した場合、そのアカウントの作成/更新rulleカスタムを作成します。
これを実行した後、あなたのユーザーは、あなたが彼のプロファイルに必要な値を持っている場合rullesモジュールは、あなたがチェックすることができます使用して
再びOPTION2
ユーザーの役割からユーザーを管理することができますし、あなたのページに彼をリダイレクト。
OPTION3
hook_init()および/またはhook_boot()ユーザー・アカウント・プロファイル・フィールドの値とが彼をリダイレクトするかどうかを確認、そのようなこと:
function hook_init(){
global $user;
$user_data=user_load($user->id);
if($user_data->field_access['LANGUAGE_NONE'][0]['value']=='limited'){
drupal_go_to('/content/limited');
}
}