laravel 如何实现对文件授权访问?
在laravel的public目录下有个res的目录,想在用户访问里面的图片的时候鉴定是否有权限,
但是用户输入地址会直接访问到这个文件,不会经过auth中间件的鉴定,
例如:在public下的res目录里面放一个图片,如图
路由:
Route::get('/res/{res}', ['middleware' => 'auth', 'uses' => 'TestController@res']);
访问可以直接看到图片,如何实现只有登录过的用户才可以看到图片呢?
我看了一下我的百度盘里面的图片的链接,
是类似于这样的
http://thumbnail0.baidupcs.com/thumbnail/e9be0226a22b8a1ad721032ac0338bb3?fid=4079835327-250528-565979844600151&time=1467727200&rt=yt&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-4mQdS41CM3TuSq6hpE8LIAn%2FiL0%3D&expires=2h&chkv=0&chkbd=0&chkpc=&dp-logid=4335431112578733428&dp-callid=0&size=c256_u256&quality=100
好像是给每个图片生产一个hash值,然后根据路由和路由里面的参数进行验证,通过后根据hash返回文件。
具体的实现原理,有哪位可以请教一下呢?
相关阅读:
疑惑,原生JS中可以直接使用ID名称来获取元素,而不用使用getElementById()方法?
Linux下搭建Web环境关闭iptables和selinux,能保证安全吗?
好用的route hashchange 类似history.js 思路
用js编写一个函数,从一个任意字符串中提取所有的数字,然后将它们添加在一起
phonegap 使用 cordova 安装插件 失败
Object.create()与原型链的疑问。
studio 2.0 以上,如何搭建JNI开发环境
怎样实现点击一下按钮在activitiy中添加一个textview
如何优雅地去掉 Velocity 模板输出的空白符?
Python如何将文本每隔N行取一条放到一个新的文本文件中?
javascript代码写在 //
php中为什么在private方法里重新定义与父类同名的私有函数会报警告呢?
mysql 关联查询的时候使用的索引问题
微博系统动态feed数据库设计。
一些php博客框架中将每个cookie名称中加入一段静态的随机字符,这是为什么?
[self method] 与 [self performSelector:@selector(method)]之间的区别
seajs 模块里面使用config配置的路径名或别名,合并模块时报错~
SharedWorker 没有执行?
seajs模块化加载js的问题
android studio问题