我不确定这是如何符合Stack Overflow的审核指南的,但我在撰写本文时没有Can a URL really be considered to be the only key for an HTTP response?考虑到这个特殊情况,所以决定继续这个。
旧的故事:假设有一个用户需要获取私有资产进行创作的网站,这些是图像,声音等。这些网址的问题现在被认为是在问题的“第一部分”中得到解决。但是,如果用户需要获取其资产的索引(即枚举它们以显示为图库),即使资产是严格私有的,网站管理员也必须能够访问这些资源,以提供支持等等。想到这样的索引的以下URL:
http://mydomain/user/assets/index
如果在cookie中携带用户身份验证和授权的客户端访问它确实有效。服务器将能够推断出要检索的用户资产索引。当站点管理员需要获取某些用户资产索引时会出现问题,这是上述URL绝对不足以进行此类索引识别的地方。站点管理员用户代理仅为站点管理员本身发送身份验证和授权,实际上并不识别用户获取资产索引。那么是通过URL识别用户的最佳解决方案,如下所示?
http://mydomain/user/<user_id>/assets/index
感谢您的时间。
答案 0 :(得分:2)
我会为管理活动创建一个完全独立的访问路径:
http://mydomain/this-user/admin/that-user/assets/index
这样,admin
就是一项服务,就像任何其他服务(例如您的资产服务)一样
答案 1 :(得分:2)
我可能希望将user_id作为参数传递而不是传递给URL,这样可以保持URI的一致性,即:
http://mydomain/user/assets/index?uid=<user_id>
或
http://mydomain/user/assets/index/<user_id>