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上存储用户登录状态。
简单实用。
作者:达奇
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。