cakephp-如何授权资产?

cakephp-如何授权资产?,cakephp,cakephp-3.x,Cakephp,Cakephp 3.x,在需要身份验证/授权的CakePHP3应用程序中,我可以上传图像。现在,我希望避免用户通过猜测图像名称等方式看到其他用户的图像。此外,我还希望使用实体的ID作为文件名,这样也很容易猜测。 那么,您将如何实现资产授权?我将通过生成一个足够长的随机字符字符串作为新文件名来防止“猜测”文件名,就像Facebook上传照片时所做的那样: 因为我们根本不应该为文件的原始名称操心,所以我们可以重命名用户上载的文件。例如,用户24976上传一个名为tomat12.png的文件。然后,上载脚本将文件重命名为(例

在需要身份验证/授权的CakePHP3应用程序中,我可以上传图像。
现在,我希望避免用户通过猜测图像名称等方式看到其他用户的图像。
此外,我还希望使用实体的ID作为文件名,这样也很容易猜测。
那么,您将如何实现资产授权?

我将通过生成一个足够长的随机字符字符串作为新文件名来防止“猜测”文件名,就像Facebook上传照片时所做的那样:

因为我们根本不应该为文件的原始名称操心,所以我们可以重命名用户上载的文件。例如,用户24976上传一个名为
tomat12.png
的文件。然后,上载脚本将文件重命名为(例如)以下名称:

1481540475_24976_iDewM51NYrBYgnIh.png

它由四部分组成:

[timestamp].[userId].[randomString].[suffix]

然后,将文件名保存到数据库中。如果您查看uploads目录,您可以看到哪个用户上载了哪个文件,但是没有权限查看目录索引的外部用户永远无法猜出文件名。不需要身份验证