在SSO期间将Viewstate MAC错误归咎于服务提供商或委托人?

时间:2014-09-02 12:39:51

标签: asp.net single-sign-on viewstate saml

我在C#中使用ASP.NET(4.5)Web窗体应用程序。我的应用程序既不在Web场中也不在群集中托管。

我的应用程序(主体)负责为SSO创建SAML消息,并使用POST方法将其发送到服务方端点(SAMLhandler.aspx),这是另一个ASP.NET应用程序。

我无法检查服务方端点,因此我必须依赖它们发送给我的错误消息。每次我尝试发送SAML消息时都会出现以下错误:

  

viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法。 AutoGenerate不能在群集中使用。

在我的页面中EnableViewStateMac="false"和我在IIS中设置了一个固定的机器密钥,如在网络上找到的其他解决方案中所见。我想知道错误是由于我的应用程序中的错误,还是服务提供商必须对其进行微调。有没有人遇到过这样的问题?

更新:

这里有来自SAML嗅探器的请求和响应(将我的SAML消息标识为有效)

POST https://www.serviceprovider.com/SAMLhandler.aspx HTTP/1.1 
Host: www.serviceprovider.com 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 
Referer: https://myApp.com 
Cookie: OTDefaultLang=en; Login=LoginURL=http%253A%2F%2Fwww%2Eserviceprovider%2Ecom%2Fdefault%2Easp; brandingid=9; OTLang=en%2Dus; OTSEC670817=VHL8lUncM8RaRm8QbKdzI2Mjzh4-; CteMtRequestId=; AKSB=s=1409581037748&r=https%3A//www.serviceprovider.com/portal.asp; OTSESSIONAABQRN=FA7C6FA5G873EG4D89G82E2GE8809C8075EF 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 5989

服务提供商响应:

HTTP/?.? 302 Moved Temporarily 
Cache-Control: private 
Content-Type: text/html; charset=utf-8 
Location: /Errors/500.100.asp?aspxerrorpath=/SAMLhandler.aspx 
Server: Microsoft-IIS/7.5 
webserver: usseat_cte95 
Content-Length: 187 
Date: Tue, 02 Sep 2014 14:14:16 GMT 
Connection: keep-alive 
Set-Cookie: ADRUM_BT=R%3a40%7cclientRequestGUID%3a6c526398-acce-4ae7-ae29-ee40e42648ab%7cbtId%3a553%7cbtERT%3a10; expires=Tue, 02-Sep-2014 14:14:46 GMT; path=/

0 个答案:

没有答案
相关问题