我们有 2 个独立的网络系统(都有独立的身份验证系统)。ASP.MVC4 中的系统之一。
如何加入它们...简单易用的一个身份验证/授权系统。
更新:假设我们有 SSO,并且两个 Web 应用程序都位于与 Internet 分开的不同网络中。如何安全通信以安全的方式通过 Internet 发送令牌?
我们有 2 个独立的网络系统(都有独立的身份验证系统)。ASP.MVC4 中的系统之一。
如何加入它们...简单易用的一个身份验证/授权系统。
更新:假设我们有 SSO,并且两个 Web 应用程序都位于与 Internet 分开的不同网络中。如何安全通信以安全的方式通过 Internet 发送令牌?
共享表单身份验证的最简单方法是让两个应用程序读取彼此的身份验证 cookie。
只有当您的两个应用程序都在同一个域中时,这才有可能。如果它们不在同一个域中,则 cookie 将不会在应用程序之间传递。
为了让每个应用程序共享 cookie,它们需要在其 Web.config 文件中定义相同的机器密钥。
在每个应用程序 Web 配置中手动添加相同的机器密钥元素,如下所示。
<machineKey
validationKey="CF4B1F0C30234C61CC44A26389CE218C77E9CB76C4FFB56AE24F9DDAAF251749408EA3E3B72EB9B29AF502F5533B59B4A9D1CEB7708D37CC9A53F18DDF66E84F"
decryptionKey="A4174A48728061A454B419DBB61AD4262AB1C45309D9AB7219760674CF880C2C"
validation="SHA1" decryption="AES"
/>
希望这可以帮助。
您应该实施SSO。如果您使用的是相同的域,它会拒绝:
同域:很容易实现,通过将表单身份验证cookie的域属性设置为根域并为两个应用程序配置相同的机器密钥,确保目标framework.Net相同。
跨域SSO 更具挑战性,有很多步骤:
你可以在这里找到更多信息