0

I have to develop a web site that implements a custom authentication. No problem so far, I should use the Membership provider and so on. Now comes the problems.... I have to create other web site, accessible from the main one without asking for user credential. This site has to do the login silently or show again the login form if the user is not authenticated.

I think I have to use DotNetOpenAuth and OpenId authentication in some way, but I've spent some days searching the internet without find any starting point. All sample uses Google or Facebook but is not my case....

Basically....

  1. User log in in to main web site.
  2. click a link to an external web site
  3. the external web site "recognize" that the user is already logged and give access

I'm really confused about OpenId and hope that someone can give me some hints.

Any help will be really appreciated

Thanks!

4

4 回答 4

0

DotNetOpenAuth 可以提供您需要的 OpenID Provider 功能。Sourceforge 提供了Provider示例。查找 OpenIdProviderMvc 示例。

考虑到您想要的是两个相关网站之间的 SSO 登录体验,我建议您研究名称中带有“SSO”的 DNOA 示例。

于 2013-02-09T20:29:29.880 回答
0

如果您有灵活性,我还建议您研究 MVC4,它内置了对 ClaimsIdentity 的支持,可以使用 OpenId、OAuth、单点登录 (SSO) 和联合身份验证等方式为外部身份验证提供更好的支持。我正在尝试在我的应用程序中实现这一点,所以我还在学习。我还在尝试研究 Windows 身份框架 (WIF) 但我仍然不确定它在所有这些东西中的作用。这不是一个答案,因为它是一种新的方法,我认为你也可以从中受益。

于 2013-02-08T18:21:38.150 回答
0

听起来您想成为 OpenID 提供者 ( http://openid.net/add-openid/become-a-provider/ )。搜索 OpenID 提供程序库。实现 OpenID 提供程序后,每个外部网站都需要使用 OpenID 依赖方库来实现 OpenID。

于 2013-02-08T15:55:34.683 回答
0

我不确定您的项目规模或范​​围。如果它只有两个网站并且流量很少,那么实施身份提供者(OpenID 提供者)就有点过头了。相反,您可以研究一个简单的方法,例如这个http://www.youtube.com/watch?v=1u7-sBadfW4

但是,如果这不仅仅是两个网站,那么坚持开放标准总是更好,因为这会给您带来安全性、可扩展性、互操作性等优势。但是仍然有免费和开源的 openID 提供商可以下载并开始工作(http://wso2.com/products/identity-server/

于 2013-02-12T04:57:38.087 回答