2017-06-28 1 views
1

Je veux personnalisé UserNamePasswordValidator dans mon projet de verger. Comme ça, comment puis-je injecter IUserService? Je vous remercie.Comment injecter un service dans un verger 1.10.1?

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"); 
     } 
    } 
} 

Répondre

2

Il y a un excellent article dans la documentation sur dependency injection.

Vous avez besoin essentiellement de construire et de mettre en œuvre une interface comme ceci:

public interface ICustomUserNameValidator : IDependency{}

Ensuite, vous pouvez l'injecter partout où vous voulez.

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