New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

django-login-required-middleware

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-login-required-middleware

Requires login to all requests through middleware.

  • 0.9.0
  • PyPI
  • Socket score

Maintainers
1

django-login-required-middleware

Tests Coverage Status PyPI Version PyPI downloads

django-login-required-middleware provide login to all requests through middleware.

If the website has many views and almost all use LoginRequiredMixin or the login_required decorator, using django-login-required can keep the code of your views more clear and avoids forgetting authentication of view.

Requirements

  • Python 3.8 to 3.10 supported.
  • Django 3.2 to 4.1 supported.

Quick start

  1. Install pip install django-login-required-middleware

  2. Add login_required.middleware.LoginRequiredMiddleware to MIDDLEWARE after django.contrib.auth.middleware.AuthenticationMiddleware

  3. (Optional) To ignore authentication in a view uses decorato @login_not_required for FBV or LoginNotRequiredMixin for CBV:

    from login_required import login_not_required
    
    @login_not_required
    def my_view(request):
        return HttpResponse()
    

    or

    from login_required import LoginNotRequiredMixin
    
    class MyView(LoginNotRequiredMixin, View):
        def get(self, request, *args, **kwargs):
            return HttpResponse()
    
  4. (Optional) Add LOGIN_REQUIRED_IGNORE_PATHS setting. Any requests which match these paths will be ignored. This setting should be a list filled with regex paths (settings.LOGIN_URL always included).

    Example:

    LOGIN_REQUIRED_IGNORE_PATHS = [
        r'/accounts/logout/$',
        r'/accounts/signup/$',
        r'/admin/$',
        r'/about/$'
    ]
    
  5. (Optional) Add LOGIN_REQUIRED_IGNORE_VIEW_NAMES setting. Any requests which match these url name will be ignored. This setting should be a list filled with url names.

    Example:

    LOGIN_REQUIRED_IGNORE_VIEW_NAMES = [
        'home',
        'admin:index',
        'admin:login',
        'namespace:url_name',
    ]
    
  6. (Optional) Add LOGIN_REQUIRED_REDIRECT_FIELD_NAME setting. This will be passed to Django's redirect_to_login(). Default is 'next'.

    Example:

    LOGIN_REQUIRED_REDIRECT_FIELD_NAME = 'next_url'
    

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc