Since you are running monad actions at the end of your case, you don't need to return the case.
isAdmin = do
mu <- maybeAuthId
case mu of
Just "Foo" -> Authorized
Just _ -> Unauthorized "You are NOT a Admin !"
Nothing -> do
setMessage "You have to Login "
return AuthenticationRequired