繁体   English   中英

ASP.NET单一登录

[英]ASP.NET Single Sign On

我们有两个服务器在同一域下的同一台计算机上运行。

两者均使用ASP.NET编写,并使用Identity框架。

我需要在它们之间实现“单点登录”(和“单点退出”)。

实际登录在AJAX做(我张贴的用户名和密码,服务器验证用户并设置会话,然后发送重定向URL数据到客户端)。

我发现了有关OWIN,身份框架,声明等的大量信息。

我找到了一些教程,这些教程解释了如何使用Visual Studio中的任何模式对话框和任何向导来创建项目,我试图理解这些教程,但对我来说确实没有用,因为我已经启动并运行了身份验证系统。

我什至发现一些演示声称以各种方式实现SSO的演示,以及一些Stackoverflow问题,这些问题只是将其和这些值放在web.config中,然后就完成了,这对我来说似乎很奇怪,我发现我我缺少对其工作原理的一些基本了解。

但是,我仍然无法理解SSO在ASP.NET Identity中的工作方式。

有人可以简单的方式向我解释一下,还是让我参考这种解释?

再次:我有两个正在运行的身份验证系统。 我需要进行哪些代码和/或配置更改才能使Single Sign-On工作?

首先,如果您希望他们共享身份验证,则他们需要在同一用户存储上工作。 换句话说,您应该将Identity初始化代码( ApplicationUserApplicationDbContextApplicationUserManagerApplicationSignInManager )分解为两个应用程序共享的类库。 试图用用户数据维护和共享两个单独的数据库将是不可能且不可克服的任务。

然后,您只需要确保两个应用程序使用相同的机器密钥即可。 身份验证cookie被加密,并且由于加密基于机器密钥,因此两个应用程序都需要使用相同的密钥来加密/解密该cookie。

既然您已经声明了它们都将托管在同一个域中,那么就是所有这些。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM