我有两个链接 一个用于登录(www.xxx/login/) 一个用于下载文件(www.xxx/download /)
如果已经登录,则链接到www.xxx/download/将自动下载文件, 如果不是,该页面将重定向到www.xxx/login /
那我怎么写php代码呢?先登录然后下载文件
答案 0 :(得分:0)
如果您正在使用Laravel提供的登录功能,则默认为Laravel提供。
您可以在这里查看
Illuminate\Foundation\Auth\AuthenticatesUsers
这是trait
和检查功能sendLoginResponse
。以下是用sendLoginResponse
函数编写的代码:-
/**
* Send the response after the user was authenticated.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
如果您正在使用自定义登录功能,请遵循此操作。
答案 1 :(得分:0)
您只需要中间件
因此在控制器顶部添加_construct
方法
public function __construct()
{
$this->middleware('auth');
}
public function dowloadMethod($fileName)
{
//your code
}
如果您在路由中使用Closure
方法
Route::get('YourdowloadUrl/{fileName}',function($fileName)
{
//yourcode goesrhere
}
)->middleware(['web', 'auth']);