I think the problem may be this code, in your controllers' before method:
// User isn't logged in if(!\Auth::check()) { \Session::set_flash('error', 'User isn\'t logged in!'); \Debug::dump(\Auth::check()); #die; \Response::redirect('admin/login'); }
Assuming that admin/login points to a method in this controller too, it hits this code, redirects to login, but then hit this code again, before it gets to your login action.
It should not redirect here if the action called is "login".
Yes, but you shouldn't check on the way to the login, your login action should be publicly available, since Auth::check() should return false in the case of login (you're not logged in yet).