WCF + FormsAuthentication + Cookie 变通解决方法

WCF + FormsAuthentication

不能使用Cookie的问题,网上有很多。

大多是:

<system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

这样的答案。

可是我却没有解决,我发现我跟他们的一个最大区别是,他们的wcf是在web站点里的,我的wcf是一个独立的工程,是一个独立站点。

所以A站点去取得B站点的信任是不可取的,我最后放弃了跨站取得信任的方式。

变通的解决方法:

为A请求B,返回1 or 0给A,A得到是1时,FormsAuthentication,写Cookie,这样既可以把负载放在B上,又可以在A上存储用户登录状态。

简单实用。

原文地址:https://www.cnblogs.com/dachie/p/2224347.html