我有一组公共API,它们包含id和一些参数。客户端(可以是浏览器或移动电话),每个都有自己的int
ID,可以与这些公共API进行交互。当然,我们不希望客户端更改其ID并向其他人发送请求,因此,当进行身份验证时,GUID
将作为身份验证令牌发送给客户端。所有后续请求必须包含该身份验证令牌。在服务器上,后端在数据库中查找以使GUID
与id匹配。如果它们匹配,则进程可以继续,否则抛出UnauthorizedAccessException。一切都很好,花花公子。
但当然,问题是每个操作都会查找数据库。我做了一些缓存但是然后缓存身份验证令牌有自己的问题(泪流满面)。
另一种方法是加密某些东西并将其传递给查询字符串。但是当请求进来时,我已经解密了字符串以查看它是否有效。那里没有免费的午餐。
asp.net设置加密的cookie进行身份验证。但是视图状态会加密隐藏字段中的内容。加密的cookie对我来说不起作用,因为我传递了JSON / SOAP(一些客户端发送json一些send xml)。
如果您确实阅读了以上所有内容,那么谢谢您,我期待您的投入!否则,对于其他人来说,问题是,是否有一个"最佳实践"围绕着我的困境?