使用Windows Identity Foundation重定向到自定义登录页面
|
我在MVC3站点中将Windows Identity Foundation与Azure \的AppFabric访问控制服务一起使用。我要弄清楚的是,如果我在控制器或操作上具有AuthorizeAttribute,如何控制WIF将用户重定向到的位置。 (这是我第一次使用WIF,似乎没有很多有用的信息。)
我禁用了自动转发功能,因为它一直将我发送到默认的ACS身份验证页面。我想使用我的自定义登录页面将用户保留在我的网站上,但似乎无法弄清楚需要勾选哪些设置才能执行此操作。
WIF本身是否有办法告诉它重定向到我的登录页面,还是我必须编写自己的AuthorizeAttribute才能为我做这件事?
谢谢!
编辑:
由于最近有一些活动,我想我会写出一些发现。不幸的是,我并不是100%导致一切正常运行(这么多的活动部件)的原因,但最终我确实得到了WIF重定向到我的登录页面。
我这样做时没有在程序中添加任何代码,而是与我发现的示例略有不同。我发现保留web.config的表单身份验证部分可以使所有工作正常进行。在我的web.config中,我具有普通形式的auth条目:
<system.web>
<httpRuntime requestValidationMode=\"2.0\" />
<authentication mode=\"Forms\" >
<forms loginUrl=\"~/Account/Login\" timeout=\"2880\" />
</authentication>
...
</system.web>
免责声明:我不知道这是否是使用WIF进行处理的正确方法-它只是解决了我的问题。我可以在控制器或操作上使用常规的[Authorize]属性,并且可以正确重定向到登录页面,就像使用表单身份验证一样。
没有找到相关结果
已邀请:
2 个回复
攫怂绵十
这适用于标准的Authorize属性。 如果这个扩展点还不够,那么您可以编写我们自己的属性来完全控制该过程。 看样本#3或#7。不是MVC3,而是在MVC2上,并且非常接近您的工作。 http://claimsid.codeplex.com 此过程描述如下: http://msdn.microsoft.com/zh-CN/library/ff966481.aspx#sec14
脾萌