我安装了 AD FS 2.0,并在域外的另一台机器上安装了 WIF 和 VS2010。
我创建了一个 ASP.NET MVC 3 应用程序并通过添加 STS 引用向导进行配置,它从我的 AD FS 下载了 FederationMetadata.xml。
我在 AD FS 中添加了依赖方信任,为我的 MVC 应用程序 (http://localhost:16034/) 的 URL 指定了标识符,并创建了一个声明规则,即传递或过滤传入声明,以及传入声明类型是 Windows 帐户名称。
我还在 WS-Federation 的 RP 中添加了一个端点,URL 是https://192.168.56.101/adfs/ls/,这是我的 AD FS IP 地址。
然后,当我启动网站时,它被重定向到 AD FS,即https://192.168.56.101/adfs/ls/?wa=XXXX&wtrealm=XXXXX。但最后我得到一个错误页面,说该页面有参考代码错误。
我检查了 AD FS 机器,发现错误是
MSIS7001:被动协议上下文未找到或无效。如果上下文存储在 cookie 中,则客户端提供的 cookie 无效。确保客户端浏览器配置为接受来自该网站的 cookie,然后重试此请求。
但问题是,当我使用 Fiddler 时,我可以看到我的 HTTP 请求带有诸如 MSISAuth = XXXXX MSISAuth1 = XXXXX MSISAuthenticated XXXXX MSISLoopDetectionCookit XXXXX 之类的 cookie
我做错了什么?