CakePHP:身份验证后访问私人文件夹
我正在寻找一种CakePHP最佳实践,在客户机获得身份验证后为其提供文件夹/文件。我知道使用基于CakePHP:身份验证后访问私人文件夹,cakephp,user-management,file-access,Cakephp,User Management,File Access,我正在寻找一种CakePHP最佳实践,在客户机获得身份验证后为其提供文件夹/文件。我知道使用基于.htpasswd/.htaccess的解决方案更简单,但我想知道更好的方法 这是干什么用的? 我想创建一个客户端区域,通过身份验证的客户端可以在其中查看私有文件夹的内容。例如,在CMS集成之前测试一些静态html模板,或上传一些文档,如评论截图或pdf文件 用例可以是: 创建新客户端(仅由管理员创建) 为同一客户端的不同用户生成登录凭据 创建新的客户端文件夹(仅由管理员创建) 将一些静态ht
.htpasswd/.htaccess
的解决方案更简单,但我想知道更好的方法
这是干什么用的?
我想创建一个客户端区域,通过身份验证的客户端可以在其中查看私有文件夹的内容。例如,在CMS集成之前测试一些静态html模板,或上传一些文档,如评论截图或pdf文件
用例可以是:
- 创建新客户端(仅由管理员创建)
- 为同一客户端的不同用户生成登录凭据
- 创建新的客户端文件夹(仅由管理员创建)
- 将一些静态html上载到客户端文件夹
- 登录后,客户端可以访问文件夹并查看html
- 注销后,对静态文件的访问受到限制
有什么建议吗?你知道CakePHP的“媒体视图”吗?我想你可以用它们做你想做的事 快速和肮脏的例子
public function serve($filename = null) {
if($filename && $this->Auth->user()) {
$this->viewClass = 'Media';
$params = array(
'id' => $filename, // full filename
'name' => 'example',
'download' => FALSE, // true, then you get a download box
'extension' => get_the_file_extension($filename),
'path' => APP . 'outside_webroot_dir' . DS
);
$this->set($params);
} else {
// redirect to login or something
}
}
你知道CakePHP的“媒体视图”吗?我想你可以用它们做你想做的事 快速和肮脏的例子
public function serve($filename = null) {
if($filename && $this->Auth->user()) {
$this->viewClass = 'Media';
$params = array(
'id' => $filename, // full filename
'name' => 'example',
'download' => FALSE, // true, then you get a download box
'extension' => get_the_file_extension($filename),
'path' => APP . 'outside_webroot_dir' . DS
);
$this->set($params);
} else {
// redirect to login or something
}
}
我认为最简单的方法是使用数据库结构 无论如何,这些文件都存储在服务器上,在哪里并不重要 这就是你要做的:
func0der我认为最简单的方法是使用数据库结构 无论如何,这些文件都存储在服务器上,在哪里并不重要 这就是你要做的: