1

目前我们有一个典型的 Web 应用程序,所有客户端都使用他们的凭据访问和登录。

其中一位客户不想使用他们的凭据登录,而是他们将在 URL 中传递用户名、fname、lname,如果他们有账户,他们应该自动登录,否则我们需要即时创建用户帐户和登录。

Web 应用程序应该以相同的方式处理其他客户端。这怎么可能实现。我们是否需要使用任何单点登录方法(SAML 等)?

需求概述:

请求 URL -> 确定客户端是否为 A -> 如果是,则检查 url 中传递的值是否存在于数据库中 -> 如果是,则自动登录 -> 如果没有,则使用传递的值创建记录,然后将它们登录

---> 如果客户不是 A 则将他们带到登录屏幕

4

1 回答 1

1

如果您打算仅根据某些 URL 值来决定是否允许自动登录,那么您在这里创建了一个非常严重的安全漏洞。

相反,您应该有一些可配置的机制,系统管理员将一些 IP 地址映射到特定用户。这样,当用户请求页面时,您会检查请求来自的 IP 是否属于某个特定的客户端。如果是,则将他/她登录,否则将其发送到登录屏幕。这也是一个安全漏洞,但更小一些,因为人们只有在知道哪些 IP 映射到用户并使用某些 IP 欺骗软件之前才能获得访问权限。

可能您可以对 URL 键和 IP 映射进行双重检查,这将使其更加紧密。

最好的选择是使用单点登录技术,例如实时身份验证。但这需要更多的努力,并且仍然需要用户首次使用 live-id 登录。

编辑-->

如果您使用自定义身份验证机制,那么您有 2 个选项 1. 更改您的登录页面以检测请求 IP 并为选定的用户自动登录 2. 编写一个 http 处理程序,它将检查请求来自哪里并自动登录相应地选择用户。

我希望您了解我所说的“自动登录”所涉及的所有内容。例如设置会话变量/用户名,在页面上显示用户名等。

于 2012-11-09T07:17:06.753 回答