Redirect Loop is because you set default controller to auth, which can only be accessed by admin users.
Normal user can only login using auth controller, then they will be redirected to base_url. Since you set default controller to auth, they are in a indefinite loop.