Skip to main content

Plone Login System

Project description

Build Status


A modernized drop-in replacement for the portal_skins-based login.


Install by adding it to your buildout:



eggs =

and then running bin/buildout. Install it as usual in /prefs_install_products_form


plone.login is tested to work with Plone 5.1. It should work with Plone 5.0 as well but is not yet tested.

Customizing templates

The templates for any plone.login can be customized because they’re simple browser-views. Use z3c.jbot to apply your own overides.

Customize where to redirect after login

You can customize the location the user will be redirected to after successfuly logging in to the site.

Just write an adapter as follows

from plone.login.interfaces import IRedirectAfterLogin
from plone.login.interfaces import IInitialLogin
from Products.CMFPlone.utils import safe_unicode
from zope.interface import implementer
from plone import api

class RedirectAfterLoginAdapter(object):

    def __init__(self, context, request):
        self.context = context
        self.request = request

    def __call__(self, came_from=None, is_initial_login=False):
        if 'Reviewer' in api.user.get_roles():
                u'Get to work!', self.request)
            came_from = self.context.portal_url() + '/@@full_review_list'
            user = api.user.get_current()
            fullname = safe_unicode(user.getProperty('fullname'))
                u'Nice to see you again, {0}!'.format(fullname), self.request)
        if not came_from:
            came_from = self.context.portal_url()
        return came_from

Then register the adapter through ZCML:


As you can see, this adapter adapts context and request, so modify these according to your needs.

The Plone Foundation, Author


1.0rc1 (2018-06-18)

  • Package created using templer [The Plone Foundation]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for plone.login, version 1.0rc1
Filename, size File type Python version Upload date Hashes
Filename, size plone.login-1.0rc1.tar.gz (929.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page