I think it is bad practice to call the DIC directly in the code. It violates against the [Hollywood principle](http://en.wikipedia.org/wiki/Hollywood_principle).

But there is still another problem with the current implementation.The user must implement DAOs for all three auth info types, even if he use only one of them.