customized authentication backend, to override djangos default authentication system