MVC:用户验证
MVC: User Verification
我有一个简单的 mvc 应用程序,我想在其中验证每个页面加载的用户登录信息。虽然是session based login,但为了安全起见,我还是想验证一下信息。
我的问题是验证用户功能应该放在哪里?它应该进入在用户请求的控制器之前执行的控制器吗?
我不太明白你所说的 "to be on the safe side, I would like to verify the information each time." 什么 "information," 除了会话令牌,你打算 "verify?" 这应该是多余的:如果用户提供了一个您可以识别的令牌,比如说,来自您发布它的 IP 地址,则不需要进一步验证。
关于第二个问题,我们可以说,在任何 MVC 应用程序中总会有 "a few necessary preliminaries":获取 URL 字符串(以及任何 GET/POST 参数) ,确保它们符合预期,并且,是的,验证会话令牌以确保 (a) 它是有效的,并且 (b) 这样识别的用户有权提出此请求。如果不是这样,请求可以用 403 Forbidden
或类似的响应转储:没有理由进一步处理。
因此,如果 "real" 控制器 收到 请求,则可以理所当然地认为该请求(显然)格式正确并且它是授权的。 (或者,至少,已通过身份验证: 请求者,此时,"has a verified and trustworthy identity.")
我有一个简单的 mvc 应用程序,我想在其中验证每个页面加载的用户登录信息。虽然是session based login,但为了安全起见,我还是想验证一下信息。
我的问题是验证用户功能应该放在哪里?它应该进入在用户请求的控制器之前执行的控制器吗?
我不太明白你所说的 "to be on the safe side, I would like to verify the information each time." 什么 "information," 除了会话令牌,你打算 "verify?" 这应该是多余的:如果用户提供了一个您可以识别的令牌,比如说,来自您发布它的 IP 地址,则不需要进一步验证。
关于第二个问题,我们可以说,在任何 MVC 应用程序中总会有 "a few necessary preliminaries":获取 URL 字符串(以及任何 GET/POST 参数) ,确保它们符合预期,并且,是的,验证会话令牌以确保 (a) 它是有效的,并且 (b) 这样识别的用户有权提出此请求。如果不是这样,请求可以用 403 Forbidden
或类似的响应转储:没有理由进一步处理。
因此,如果 "real" 控制器 收到 请求,则可以理所当然地认为该请求(显然)格式正确并且它是授权的。 (或者,至少,已通过身份验证: 请求者,此时,"has a verified and trustworthy identity.")