对于我正在进行的项目,我需要能够在特定条件下根据其IP地址对访问者进行身份验证。
我一直在做的方法是将访问者的IP地址与数据库中的表进行比较。如果IP检出我从数据库中获取相关用户并以有限的访问权限登录。
但是我一直在使用global.asax中的Session_start()方法并创建一个会话变量来指定用户是否通过IP登录。然后,如果用户通过IP登录,我会限制某些功能。
然而,这还不够好,主要是因为当用户第一次访问该网站时,我想让他知道他已经通过他的IP地址登录,但会话启动似乎在视图开始后被触发已呈现,因此在访问者刷新页面或访问子页面之前不会显示该消息。只是有一个会话变量似乎也不够安全(虽然我承认我还没有正确研究过)。
我尝试在Application_BeginRequest()方法中进行检查和自动登录,但是在请求的早期尚未初始化身份验证管理器,因此我无法将用户登录。
任何能指出正确方向的人?实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
您可以使用和扩展AuthorizeAttribute并覆盖OnAuthorization,以便您可以将检查放在那里。