Nancy RequiresClaims失败返回403.我该如何使用它?

时间:2011-10-21 11:05:27

标签: nancy

如果模块需要声明,并且用户没有声明,则返回403响应。 例如:

this.RequiresClaims(new[] { "SuperSecure" });

this.RequiresValidatedClaims(c => c.Contains("SuperSecure"));

但这只是向用户返回一个空白页面。

如何处理未获得所需索赔的用户? 我可以“抓住”403并重定向吗?

RequiresClaims方法返回void或使用预请求挂钩返回HttpStatusCode.Forbidden。我应该怎么做以便用户知道发生了什么?

非常感谢, 尼尔

1 个答案:

答案 0 :(得分:1)

您可以通过编写自己的帖子请求挂钩(在应用级别或模块级别)或实现自己的IErrorHandler来捕获它,可能包含default one

错误处理程序的东西会改变,所以你可以注册多个(对于不同的错误代码),它的设置就是这样做(使用“can / do”界面)但是由于某种原因,我的大脑没有' t将其添加为集合: - )