我希望html上的图像仅供经过身份验证的用户下载。因此,例如,我编写了以下代码。
[客户端]
<img src="/image/showWorkImg?fileName=ed296da987c8ab75c42dce07e.jpg" alt="undefined" style="float:left;height: auto;width: auto"/>
[ImageController]
class ImageController extends Controller
{
public function showWorkImg(Request $request)
{
try {
$fileFullName = config('app.image_path') . '/' . $request->fileName;
return \Image::make($fileFullName)->response();
} catch (\Exception $e) {
return "";
}
}
}
当然,客户端和ImageController之间的中间件上的身份验证过程。但是,如您所知,图像html标记无法使用基于标头的标记发送请求。它仅使用cookie发送请求。所以我决定将头部身份验证令牌与像这样的cookie身份验证令牌同步。
[客户端]
localStorage.setItem(keyName, response.data.token);
cookies.set(keyName, response.data.token, {path: '/'});
我想知道这种策略是否没有问题。