Я создаю приложение со списком клиентов для нескольких пользователей. Каждый пользователь должен иметь доступ только к своему списку клиентов. (следующий шаг — добавить пользователям возможность разрешать другим пользователям доступ к их списку клиентов).
У меня есть приложение, настроенное для защиты списка с помощью встроенного промежуточного программного обеспечения. URL-адрес /clients показывает только список аутентифицированных пользователей. Однако я не могу понять, как защитить детали клиента.
У меня есть пользовательская модель, настроенная с hasMany на клиентах, и клиент, настроенный с ownTo на пользователе.
Как защитить URL-адрес, такой как /clients/5 , где 5 — это идентификатор клиента в моей базе данных, а URL-адрес показывает сведения о клиенте? В настоящее время любой аутентифицированный пользователь может ввести URL-адрес с идентификатором клиента и просмотреть сведения об этом клиенте. Могу выложить код, если нужно. Но я просто смотрю, чтобы меня указали в правильном направлении, чтобы понять это самостоятельно.
Изменить - дополнительная информация/код
Вот функция показа из ClientsController.php. Закомментированный бит - это неудачная попытка решить вопрос, размещенный здесь.
public function show($id)
{
//$client = \Auth::user()->clients()->get($id);
$client = Client::findOrFail($id);
return view('clients.show', compact('client'));
}
И моя модель клиента
namespace App;
use Illuminate\Database\Eloquent\Model;
class Client extends Model
{
protected $fillable = [
'bizName',
'bizStreet',
'bizCity',
'bizZip',
'bizEmail',
'bizPhone',
'bizNotes',
'user_id'
];
/**
* A client belongs to one user
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo('App\User');
}
}
ClientController@show
или контроллера для маршрута/clients/{clients}
? Может быть, даже вставьте свою модельClients
. - person CrackingTheCode   schedule 19.07.2015