gpt4 book ai didi

asp.net-mvc - 授权和温莎

转载 作者:行者123 更新时间:2023-12-04 17:05:40 27 4
gpt4 key购买 nike

我正在尝试实现我的自定义授权属性,例如:

 public class MyCustomAuth : AuthorizeAttribute
{
private readonly IUserService _userService;

public MyCustomAuth(IUserService userService)
{
_userService= userService;
}
... continued
}

我正在使用 CaSTLe Windsor 来自动解决依赖关系。

当我尝试将它用作操作方法的属性时,显然我被要求传递参数,或者我需要一个无参数的构造函数,它应该以某种方式解决它的依赖关系。

我尝试使用属性注入(inject)依赖项,但 Windsor 没有注入(inject)它。

我现在看到的唯一选择是手动实例化具体对象依赖项,从而失去 Windsor 的好处。

你将如何解决这个问题?

最佳答案

您不能将 DI 与属性一起使用——它们是元数据;

public class MyCustomAuth : AuthorizeAttribute
{
public void OnAuthorization(...)
{
IUserService userService = ServiceLocator.Current.GetInstance<IUserService>();
}
}

了解温莎/ServiceLocator here .

查看类似问题 here .

关于asp.net-mvc - 授权和温莎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1689112/

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