ASP.NET外部认证

时间:2011-07-04 14:06:55

标签: asp.net forms-authentication

我有一个asp.net应用程序,我在其中使用了表单身份验证。

现在,需要在我的应用程序之外完成用户身份验证。 将有一个介绍页面,将进行所需的身份验证。 然后,在身份验证成功后,应将用户重定向到我的应用程序。

当然,如果用户未通过该外部页面进行身份验证并尝试直接访问我的应用程序,则需要将其重定向回此外部登录页面。

实现此类功能的最佳方法是什么?我认为可行的一种方法是从外部登录页面传输cookie中的一些特定加密字符串并在我的应用程序中验证它。因此,基于此,我可以看到用户是否通过此外部页面进行了身份验证。

4 个答案:

答案 0 :(得分:0)

您自己建议验证外部网站的cookie是我如何实现此功能。

答案 1 :(得分:0)

我只是在第一个应用程序中添加一个Webservice,您在舞台上可以连接到检查用户是否已登录,唯一的问题是您需要知道哪些用户访问您的站点并确认这是真正的用户(因此用户无法使用其他登录用户)。这些信息可能是通过cookie发送的。

答案 2 :(得分:0)

您可能不应该在2011年推出自己的单点登录解决方案。相反,您应该看一些新兴标准 - 尤其是OAuthOpenID。使用它们很容易 - 请查看MSDN上的OpenID website template

答案 3 :(得分:0)

最后我们决定使用SAML 2.0协议。

外部登录页面发布SAML complient XML,使用证书对其他应用程序进行数字签名。在此XML身份验证的用户名被传输。接收此XML的应用程序使用证书的公钥验证数字签名,如果验证正常,则从XML读取用户名,应用内部应用程序授权逻辑,最后创建auth。曲奇饼。我们可能会添加加密,以便完成数据保护。