ユーザーが何かしかできないように制限する場合は、自分が望むものを選択させるべきではなく、代わりにルールを修正する必要があります。
$results = $cl->Filter('country', $config['country']['us']);
あなたは彼らがしているどのレベルによって、より多くの国で検索する権限を付与したい場合は、あなたがそのようなユーザレベルとして設定するいくつかのより多くの権限を追加しなければならないので、彼らはhttp://myapp.com/search?q=Adidas&searchableCountry=3にアクセスする場合、彼らは持っているので、あなたがエラーを返すことができます許可はありません。
私のアイデアの一例として、まだテストされていませんが、うまくいくはずです。
<?php
//your user data
$user = json_decode('{
"user_id" : NumberLong(1004109307),
"fullname" : "Johnny",
"email" : "[email protected]",
"phone" : "123456789",
"role" : "basic", //wich user can search US,FRANCE for country id is [1,2]
"create_time" : NumberLong(1503537866)
}', true); //retun an array
//Your country id config somewhere
$country_list = array(
'US' => 1,
'FR' => 2,
'JP' => 3,
'CN' => 4,
);
//Your config somewhere
$searchable_country_config = array(
'basic' => array(
$country_list['US'], //1
$country_list['FR'], //2
),
'premium' => array(
$country_list['JP'],
$country_list['CN'],
),
);
$searchable_request = (Input::get('searchableCountry')) ? Input::get('searchableCountry') : 1; // 2 for example
$searchable_permission = $searchable_country_config[$user['role']];
//lets check that does this user have permission on their request
if(in_array($searchable_request,$searchable_permission))
{
$results = $cl->Filter('country', $searchable_request);
} else {
return response()->json(array(
'status' => 'error',
'message' => 'You have not access for this country'
));
}
私はユーザーの役割(基本、プレミアム、管理者など)を持っています。しかし、私はどのようにURLの制限とこれを接続することができますか分からないのですか? – harunB10
@ harunB10私の更新をチェックしてください – vietnguyen09