I know this question is old, but I’ve just done this myself. A reason you may think you want to do it in get_context_data is due to business logic, but you should place it in dispatch.
def dispatch(self, request, *args, **kwargs):
if not request.user.is_authenticated:
return redirect('home')
return super().dispatch(request, *args, **kwargs)
Keep your business logic in your dispatch and you should be golden.