3 回答
TA贡献1796条经验 获得超7个赞
首先安装官方软件包,Unity.Mvc而不是Unity.MVC4。该软件包会自动安装并注册UnityFilterAttributeFilterProvider属性注入依赖所需要的软件包。您可以通过查看App_Start> UnityMvcActivator的Start方法来检查Unity是否配置正确。您必须看到以下两行:
public static void Start()
{
// other codes
FilterProviders.Providers.Remove(FilterProviders.Providers.OfType<FilterAttributeFilterProvider>().First());
FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(container));
}
现在,您可以将[Dependency]属性添加到过滤器的公共属性。
public class ClaimsAuthorizeAccountAccess : AuthorizeAttribute
{
[Dependency]
public IAccountRepository AccountRepository { get; set; }
private String[] _permissions { get; set; }
public ClaimsAuthorizeAccountAccess(params String[] permissions)
{
_permissions = permissions;
}
}
- 3 回答
- 0 关注
- 671 浏览
添加回答
举报