使用ASP.NET MVC,我正在创建一个自定义Authorize属性,以处理一些自定义授权逻辑。我看了很多例子,这很简单,但是我的问题是最好改写哪种方法,AuthorizeCore或OnAuthorization?我已经看到了很多例子可以压倒另一个。有区别吗?

最佳答案

线索在于返回类型:
AuthorizeCore返回一个 bool(boolean) 值-它是决策代码。这应该仅限于查看用户的身份并测试他们所扮演的角色等。基本上,它应该回答以下问题:
Do I want this user to proceed?
它不应在“侧面”执行任何其他 Activity 。
OnAuthorize返回void-这是您放置此时需要发生的所有功能的地方。例如写入日志,在 session 中存储一些数据等。

08-25 15:51