1

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

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

或者

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

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

我如何处理没有要求索赔的用户?我可以“捕捉” 403 并重定向吗?

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

非常感谢,尼尔

4

1 回答 1

1

您可以通过编写自己的 post 请求钩子(在应用程序级别或模块级别)或通过实现自己的IErrorHandler来捕获它,可能会包装默认的

错误处理程序的内容将发生变化,因此您将能够注册多个(针对不同的错误代码),它已设置为执行此操作(使用“can/do”界面)但由于某种原因我的大脑没有添加它作为一个集合:-)

于 2011-10-21T11:28:36.520 回答