我建立一个.net应用程序,有效地有新闻报道,其中一些可以公开了,有些则是只有当你已经登录使用。查询字符串传递的加密ID
的URL给每个文章需要以某种方式包含文章的ID,直到现在我一直使用AES加密文章ID,使用用户ID作为'共享密码'和8位数字字符串作为盐。
例如/article.aspx?id=EvEAAAACtp2iEc7lKyJSu6382Ryl4k571L5/PQrJYY1JJfeq4F
的问题是,如果用户浏览文章时登录,他们将无法复制网址,并将其发送到任何人,因为它不会与另一个用户的ID或未登录的用户一起工作。
当需要在已知/未知用户之间共享ID时,将查询字符串(或其他任何地方)包含在ID中的正确方法是什么?
谢谢。
为什么文章ID必须加密?我假设你跟踪用户是否通过会话或类似的方式登录。只需检查用户是否被允许访问服务器端的文章并在URL中使用该文章的普通ID。 – 2012-08-15 15:16:16
是否有一个具体的原因使用加密的文章ID而不是简单的文章ID结合标准访问控制机制(检查用户是否已登录并具有查看权限)? – Robert 2012-08-15 15:18:04