我有一个使用Laravel 4.2建立的网站和一个只有登录用户才能访问的控制器:
Route::group(['prefix' => 'pannello-utente', 'before' => 'auth'], function ()
{
Route::get('elenco-animali/{nome?}', ['uses' => 'PazientiController@index']);
Route::get('download/{cartella}/{file}', ['uses' => 'PazientiController@download']);
});
auth方法请求用户插入电子邮件和密码。
在PazientiController
我有__construct
方法执行一些检索代码的查询并在另一种方法中使用它:
public function __construct()
{
$this->current_user = Auth::user();
//Recupero il codice cliente salvato nel profilo utente
$this->codice = User::find($this->current_user->id)->first()->profile->codice_cliente;
}
此代码仅保存在数据库中,目前没有其他应用程序拥有它,因此我每次都需要执行该查询。
我需要这个,现在通过curl然后通过智能手机应用程序,用户可以访问该方法,所以我需要用户登录之前:
curl --user chri788@gmail.com:adminadmin localhost:8888/*****/public/pannello-utente/elenco-animali
但我明白了:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="1;url=http://localhost:8888/*****/public/login" />
<title>Redirecting to http://localhost:8888/*****/public/login</title>
</head>
<body>
Redirecting to <a href="http://localhost:8888/******/public/login">http://localhost:8888/****/public/login</a>.
</body>
</html>
如何访问该控制器?
答案 0 :(得分:0)
curl的--user
标志触发HTTP基本身份验证。 Laravel支持此功能,但不支持auth
过滤器 - 它需要auth.basic
过滤器。
您可以编写一个自定义过滤器来检查auth
和auth.basic
,或者您可以提供一组使用备用过滤器的单独路径(可能带有前缀api
)。 / p>
http://laravel.com/docs/4.2/security#http-basic-authentication