2010-09-10 73 views
0

我需要创建一个单一的登录结构,我的问题是:SSL是必须的吗?确保单一登录到web应用程序

详情: 该应用程序将有一个链接到我的web应用程序。当用户点击该链接时,他们的本地用户名将被传递给我的Web应用程序,此时在映射文件中查找完成。如果地图上存在本地用户名,则该用户已登录。如果没有,则将提示用户输入其网络用户名和密码,并且在进行身份验证时将创建地图中的条目。

我如何确保用户是他们自称的人,而不是Joe Blow从街上用该用户名发送HTTP POST请求?

我是否必须使用SSL(如果是这样,那是什么)?加入盐和加密用户名是否足够?也许锁定它,以便源IP必须在一个控制范围内?

我的web应用程序在IIS 6/7上运行,并使用ASP.NET MVC框架(如果这很重要)。

+0

这似乎可能是在serverfault权限下给我。 – Rushyo 2010-09-10 16:25:12

回答

0

由于用户没有将任何秘密传递给Web应用程序,因此听起来像是一种很差的身份验证方式。因为它在Intranet上最有可能我猜你可以使用用户名+ salt的哈希值作为会话标识符。虽然没有使用过ASP.NET,但我确信它可以让你创建永不超时的会话,而不是实现这个路线,而不是重新实现轮子,除非在桌面应用程序中动态更新会话ID是一个问题。

0

听起来像您想要使用SSL客户端证书。你如何实现这取决于你的设置。

其他信息,以铭记:

如果我要发“dmoules”到你的应用程序,我可以。你不能阻止我这样做。您需要通过提供身份证明的可信来源进行身份验证。没有一些证据(如客户端证书),您不能相信未经修改的应用程序中的HTTP请求。