如何在orchard 1.10.1中注入服务?

时间:2017-06-28 11:16:12

标签: service orchardcms autofac code-injection

我想在我的果园项目中使用自定义UserNamePasswordValidator。 像这样,我如何注入IUserService?谢谢。

    public class CustomUserNameValidator: UserNamePasswordValidator
{
    private IUserSevice m_UserService;

    public override void Validate(string userName, string password)
    {
        if (null == userName || null == password)
        {
            throw new ArgumentNullException();
        }
        if(!m_UserService.CheckUser(userName,password))
        {
            throw new SecurityTokenException("Unknown Username or Password");
        }
    }
}

1 个答案:

答案 0 :(得分:2)

dependency injection的文档中有一篇很好的文章。

您基本上需要构建和实现这样的接口:

public interface ICustomUserNameValidator : IDependency{}

之后,您可以将其注入任何您想要的地方。

public class MyPartDriver : ContentPartDriver
{
  public MyPartDriver(ICustomerUserNameValidator validator)
  {
  }
}