首页 > 解决方案 > 如何阻止某些用户访问 wamp/www/myproject 文件夹的 json 文件

问题描述

我有一个项目,它有一个文件夹并包含 json 文件。

     ->   WAMP/www/MyProject  -> JSON_Folder -> one.json, two.json, three.json, four.json, five.json etc.

现在我有一个任务:拥有多个用户——超级用户/主要用户/第二用户/学生。

     -  Depends on the users permission one could see the json files.
     -  Super User can see all the json files
     -  Main User could see Main User files and Second user files and student user files.
     -  Second user could only see Second user files and Student files.
     -  Student user could only see Student User files.

我还可以在 JSON_folder 下创建 Super_User_Folder、Main_User_Folder、Second_User_Folder、Student_User_Folder。我将在页面中创建用户登录。当用户登录时 - 取决于他们可以看到 json 文件的用户。不知道。我怎么能做到这一点?我也可以在 MYSQL 中创建用户以获得用户权限。但是我怎么能允许不访问 MyProject 的 JSON 文件夹呢?好的建议会很棒。

标签: phpmysqlapache

解决方案


您可以使用 htaccess 实现此目的:

<FilesMatch "\.json$">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /etc/apache/.htpasswd
Require valid-user
require user SuperUser
</FilesMatch>

<FilesMatch "^one\.json$">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /etc/apache/.htpasswd
Require valid-user
require user StudentUser1
</FilesMatch>

<FilesMatch "^two\.json$">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /etc/apache/.htpasswd
Require valid-user
require user StudentUser2
</FilesMatch>

按文件夹限制

<Location /student1>
Options Indexes
  AuthType basic
  AuthName "login info required"
  AuthUserFile /etc/apache/.htpasswdstudent1
<RequireAll>
  Require all granted
</RequireAll>
</Location>

您甚至可以按组限制


推荐阅读