如果模块需要声明,并且用户没有声明,则返回403响应。 例如:
this.RequiresClaims(new[] { "SuperSecure" });
或
this.RequiresValidatedClaims(c => c.Contains("SuperSecure"));
但这只是向用户返回一个空白页面。
如何处理未获得所需索赔的用户? 我可以“抓住”403并重定向吗?
RequiresClaims方法返回void或使用预请求挂钩返回HttpStatusCode.Forbidden。我应该怎么做以便用户知道发生了什么?
非常感谢, 尼尔
答案 0 :(得分:1)
您可以通过编写自己的帖子请求挂钩(在应用级别或模块级别)或实现自己的IErrorHandler来捕获它,可能包含default one。
错误处理程序的东西会改变,所以你可以注册多个(对于不同的错误代码),它的设置就是这样做(使用“can / do”界面)但是由于某种原因,我的大脑没有' t将其添加为集合: - )