ASP.net MVC 域范围内单点登录(二)

 在实验环境了测试通过之后,就开始在生产环境里进行部署。结果发现,副站死活无法获得主站的登录信息。

通过浏览器检查,两者的domain也相同,但是问题出在哪里呢?

答案是,副站无法识别主站的信息。 要知道,涉及登录部分的cookie是加密的,如果两个站的加密方法不一致,肯定是没法读取的。

解决方法:生成统一的校验。

1、在网站  aspnetresources.com/tools/machineKey  生成统一的校验,每次都会不同。 生成的内容如下:

 
<machineKey validationKey="A46AADD08FE29B4766F67B8A1D61EA552CDF32B6C071742A6344BA501D698246D1F388931A819471C292D9C0D5BE2F7DD44E0418BEB0D300C20C3763DAFED864" decryptionKey="92AD2BE8B3839828A0BDE07F14DAE4EA5A4F9F8610506E4E8FC06FE3A0DE15DF" validation="SHA1" decryption="AES"/>

2、将生成的内容加到需要共享登录的两个项目的Web.config当中,加的位置在 system.Web 节里。

问题就解决了,副站就可以获得用户当前登录的账号信息。

ASP.net MVC 域范围内单点登录(二),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。