我有一个MVC 3应用程序,我试图与Azure托管的ACS身份提供程序集成。我一直在关注教程,但在使用ASP.NET MVC时,它们看起来并不适合我。无法在MVC应用程序中完成Azure ACS身份验证
从本质上讲,当我打查看我已经与[Authorize]
用户被重定向到Azure中托管的登录页面的身份提供商列表标记。我选择一个提供商(在这种情况下,生活)并登录。在这一点上,这一切都符合我的预期。成功验证后,它出现(视觉),我是而不是重定向回我的应用程序,而是我返回到身份提供商页面。当在Fiddler中观看它时,它看起来实际上返回了,但是随后又重新开始了这个循环(HTTP状态码302)。
有人可以解释什么可能造成这种情况?
在Azure的门户,我已经配置了我的信赖方应用程序
- 境界下列网址:HTTP://本地主机:7777/
- 返回URL:HTTP://本地主机:7777 /(我也试过的http://本地主机:7777 /首页/)
- 在其他情况下,我都默认设置
的URL匹配的是在Web.config(包括最后的斜线)
只有一个控制器具有以下:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[Authorize]
public ActionResult About()
{
Response.Write("Claims Received from ACS:");
ClaimsIdentity ci = Thread.CurrentPrincipal.Identity as ClaimsIdentity; foreach (Claim c in ci.Claims)
{
Response.Write("Type: " + c.ClaimType + "- Value: " + c.Value + "");
}
return View();
}
}
注:这是一个全新的项目通过这种整合来创造。所有软件包和相关的SDK都是最新的。
如果你仍然面临同样的问题,我想看看你的web.config是什么样的。 – Rytmis