def METHOD_NAME(request, *args, **kwargs):
    user_security_level = 'anonymous'
    if request.user.is_authenticated:
        if request.user.profile.is_superuser:
            user_security_level = 'superuser'
        elif request.user.profile.is_staff:
            user_security_level = 'staff'
        else:
            user_security_level = 'user'
    boo = False
    if self.page_security_level == 'anonymous':
        boo = True
    elif self.page_security_level == 'user':
        if user_security_level != 'anonymous':
            boo = True
    elif self.page_security_level == 'superuser':
        if user_security_level == 'superuser':
            boo = True
    elif self.page_security_level == 'staff':
        if user_security_level == 'staff':
            boo = True
    if boo:
        # if request.user.is_authenticated, log an event here
        return f(request, *args, **kwargs)
    else:
        if request.user.is_authenticated:
            raise Http403
        else:
            # redirect to login page
            redirect_field_name=REDIRECT_FIELD_NAME
            login_url = settings.LOGIN_URL
            path = urlquote(request.get_full_path())
            tup = login_url, redirect_field_name, path
            return HttpResponseRedirect('%s?%s=%s' % tup)
            #return f(request, *args, **kwargs)