/// <summary>
 /// Autentificate user.
 /// </summary>
 /// <param name="user">Username.</param>
 /// <param name="pass">Password.</param>
 /// <param name="ip">User's IP.</param>
 /// <returns>User's info. Nulll if user is not authentificated.</returns>
 public override IUserInfo InternalAuthentificate(string user, string pass, IPAddress ip)
 {
     try
     {
         SetUsernameToken(new UsernameToken(user, Utils.GetPasswordHash(user, pass),
                                            PasswordOption.SendHashed));
         webService.Authentication();
         return(new UserInfo(webService.GetUserInfo()));
     }
     catch (Exception exception)
     {
         webService.RequestSoapContext.Security.Clear();
         ProcessException(exception);
         return(null);
     }
 }