gpt4 book ai didi

asp.net-mvc-3 - 在 MVC 3 的 AuthorizeAttribute 中获取模型数据

转载 作者:行者123 更新时间:2023-12-04 11:57:42 26 4
gpt4 key购买 nike

我正在用 AuthorizeAttribute 装饰我的 Controller 操作。

[ServiceAuthorize(Roles="Editor,Publisher,Administrator")]
public JsonResult Create(NewsArticle newsArticle)

我的 NewsArticle 模型中有一个字段,我想在我的 AuthorizeAttribute 中的 OnAuthorize 方法中使用它。

有没有办法从 AuthorizeAttribute 的 OnAuthorize 方法中获取模型?

我认为它可以在某个地方的 AuthorizationContext 中使用,但我找不到它。我知道我可以在过滤器属性的 ActionExecutingContext 中获得它,但这意味着我需要对我的操作进行另一个过滤器,并且我希望能够在一个步骤中执行所有授权。

谢谢。

最佳答案

Is there any way to get at the model from within the OnAuthorize method of the AuthorizeAttribute?



否,因为 OnAuthorization 在模型绑定(bind)器之前运行。您可以做的是从值提供者读取值:
public override void OnAuthorization(AuthorizationContext filterContext)
{
var value = filterContext.Controller.ValueProvider.GetValue("someproperty");
...
}

关于asp.net-mvc-3 - 在 MVC 3 的 AuthorizeAttribute 中获取模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com