比方说我创建了一个简单的 CRUD 数据库应用程序,访问权限上 C 页面不限制,RUD 页面需要加个简单的密码验证,怎么实现?
1
dreamerlv3ex 2019-12-27 10:11:51 +08:00
挺简单的
|
2
manami 2019-12-27 10:15:59 +08:00
没用框架的话自己写,在请求 RUD 页面之前增加密码验证。使用框架的话很多都有对应的权限管理,比如 laravel 的 laravel-permission。
|
3
hakono 2019-12-27 10:20:16 +08:00 via Android
如果你的网页是 http,最简单粗暴的就是 basic auth
nginx 在代理部分根据不同的 path 设定下就行 但是 basic auth 毕竟每个请求都带上了明文的帐号密码,非 http 真的就别试了,https 用 basic auth 感觉也不太安全 |
4
hakono 2019-12-27 10:20:49 +08:00 via Android
楼上修正
如果你的网页是 https,最简单粗暴的就是 basic auth |
5
solopython OP |
6
CallMeReznov 2019-12-27 10:24:48 +08:00 via Android
ngx_http_auth 了解一下
|
7
RickyC 2019-12-27 17:39:57 +08:00
需求总结:
1. 增 记录, 不用输入密码 2. 删改查 记录, 要输入密码 解决方法 (MVC) : 删除接口 del() 保存接口 save() 列表页面 index() 详情页面 detail() 1. 在界面方面, 进入 del()和 save()方法前,都要提交密码给这 2 个接口 2. 而在 save()接口和 del()接口中, 也要检查一下, 通过验证后, 再进行更新和保存的实操 3. 在进入 index()页面和 detail()页面前, 要增加一个页面, 用于输入密码. 4. 在 index()方法和 detail()方法中, 设置检查密码是否正确. 如果之前是把密码验证情况保存在 session 中, 也可以在 index()和 detail()中先检查 session, 再进行显示内容的实操 题外话: 1. 增加不用密码验证, 查看还要密码验证? 2. 那么自己增加的东西自己不能看? |
8
solopython OP @RickyC 给了查看权限,那么自己除了查看自己添加的,还能查看别人添加的,这个怎么避免?这是我的应用 https://0c8da2ff.ngrok.io
|
9
RickyC 2020-01-01 09:29:13 +08:00
@solopython 被查看的记录应该有一个 uid(添加者 id)吧? 显示列表的时候只显示 uid=本人的不就可以了?
|