3

Product support

Visit this product's website for support.

Categories

Front-end user management for October CMS.

Requirements

  • October CMS 3.0 or above
  • The AJAX Framework to be included in your layout/page

Installation Instructions

Run the following to install this plugin:

php artisan plugin:install RainLab.User

To uninstall this plugin:

php artisan plugin:remove RainLab.User

If you are using October CMS v1 or v2, install v1.7 with the following commands:

composer require rainlab/user-plugin "^1.7"

Managing Users

Users are managed on the Users tab found in the back-end. Each user provides minimal data fields - Name, Surname, Email and Password. The Name can represent either the person's first name or their full name, making the Surname field optional, depending on the complexity of your site.

Below the Email field is an checkbox to block all outgoing mail sent to the user. This is a useful feature for accounts with an email address that is bouncing mail or has reported spam. When checked, no mail will ever be sent to this address, except for the mail template used for resetting the password.

Plugin Settings

This plugin creates a Settings menu item, found by navigating to Settings > Users > User settings. This page allows the setting of common features, described in more detail below.

Registration

Registration to the site is allowed by default. If you are running a closed site, or need to temporarily disable registration, you may disable this feature by switching Allow user registration to the OFF setting.

Activation

Activation is a process of vetting a user who joins the site. By default, users are activated automatically when they register and an activated account is required to sign in.

The Activation mode specifies the activation workflow:

  • Automatic: This mode will automatically activate a user when they first register. This is the same as disabling activation entirely and is the default setting.
  • User: The user can activate their account by responding to a confirmation message sent to their nominated email address.
  • Administrator: The user can only be activated by an administrator via the back-end area.

You can allow users to sign in without activating by switching Sign in requires activation to the OFF setting. This is useful for minimising friction when registering, however with this approach it is often a good idea to disable any "identity sensitive" features until the user has been activated, such as posting content. Alternatively, you could implement a grace period that deletes users (with sufficient warning!) who have not activated within a given period of time.

Users have the ability to resend the activation email by clicking Send the verification email again found in the Account component.

Sign In

By default a User will sign in to the site using their email address as a unique identifier. You may use a unique login name instead by changing the Login attribute value to Username. This will introduce a new field called Username for each user, allowing them to specify their own short name or alias for identification. Both the Email address and Username must be unique to the user.

If a user experiences too many failed sign in attempts, their account will be temporarily suspended for a period of time. This feature is enabled by default and will suspend an account for 15 minutes after 5 failed sign in attempts, for a given IP address. You may disable this feature by switching Throttle attempts to the OFF setting.

As a security precaution, you may restrict users from having sessions across multiple devices at the same time. Enable the Prevent concurrent sessions setting to use this feature. When a user signs in to their account, it will automatically sign out the user for all other sessions.

Notifications

This feature is implemented by the Notify plugin. How to use this feature:

  • Install the RainLab.Notify plugin
  • Navigate to Settings > Notification rules
  • Click New notification rule
  • Select User > Activated
  • Click Add action
  • Select Compose a mail message
  • Select User email address for the Send to field
  • Here you may select the Mail template previously defined in the user settings.
  • Click Save

Extended Features

For extra functionality, consider also installing the User Plus+ plugin (RainLab.UserPlus).

The following plugins extend or depend on the plugin
Forum
Free

Forum

A simple embeddable forum

21,705 installations
# 40 in Free of all time.
Free

Forum

A simple embeddable forum

Social Login
Free

Social Login

Log in with your social media accounts!

10,597 installations
# 57 in Free of all time.
Free

Social Login

Log in with your social media accounts!

PrivateFiles
$10

PrivateFiles

Share downloads only with the users you want.

69 projects
# 57 in Paid of all time.
$10

PrivateFiles

Share downloads only with the users you want.

BlogProtect
Free

BlogProtect

Restrict RainLab Blog Post viewers by category permission

584 installations
# 339 in Free of all time.
Free

BlogProtect

Restrict RainLab Blog Post viewers by category permission

Profile
$10

Profile

Social information, User directory, V-Card downloading, Avatar gallery, Frontend profile forms.

75 projects
# 51 in Paid of all time.
$10

Profile

Social information, User directory, V-Card downloading, Avatar gallery, Frontend profile forms.

User Plus
Free

User Plus

This plugin extend the RainLab User plugin to some new fields.

2,235 installations
# 167 in Free of all time.
Free

User Plus

This plugin extend the RainLab User plugin to some new fields.

CellPhone
$5

CellPhone

Stores cell phone information for front end users and allows other users to message them

7 projects
# 154 in Paid of all time.
$5

CellPhone

Stores cell phone information for front end users and allows other users to message them

User Select
$5

User Select

Powerful yet user friendly way to choose multiple users

7 projects
# 161 in Paid of all time.
$5

User Select

Powerful yet user friendly way to choose multiple users

Social
Free

Social

Social Login plugin for Facebook, Google, LinkedIn, Github and Microsoft using OAuth

84 installations
# 360 in Free of all time.
Free

Social

Social Login plugin for Facebook, Google, LinkedIn, Github and Microsoft using OAuth

OctoCart
$14.99

OctoCart

The Best October eCommerce/shop Platform

95 projects
# 99 in Paid of all time.
$14.99

OctoCart

The Best October eCommerce/shop Platform

User Support
$100

User Support

Ticket system for communicating with users

37 projects
# 59 in Paid of all time.
$100

User Support

Ticket system for communicating with users

Code login
Free

Code login

Front-end password/code authentication without username. Best for creating secret section.

1,452 installations
# 213 in Free of all time.
Free

Code login

Front-end password/code authentication without username. Best for creating secret section.

User Plus+
Free

User Plus+

Adds extra features to the User plugin.

20,630 installations
# 27 in Free of all time.
Free

User Plus+

Adds extra features to the User plugin.

User import/export
Free

User import/export

Import and export feature for User plugin.

2,811 installations
# 160 in Free of all time.
Free

User import/export

Import and export feature for User plugin.

User Access Log
Free

User Access Log

Logs users accesses and makes nice graphs.

2,643 installations
# 220 in Free of all time.
Free

User Access Log

Logs users accesses and makes nice graphs.

Passage Permission and Roles System
Free

Passage Permission and Roles System

Fast, Efficient permissions and roles system for your site pages and resources.

5,224 installations
# 136 in Free of all time.
Free

Passage Permission and Roles System

Fast, Efficient permissions and roles system for your site pages and resources.

User PDF export
Free

User PDF export

Export user's profile to PDF in one click.

402 installations
# 436 in Free of all time.
Free

User PDF export

Export user's profile to PDF in one click.

User SideMenu
Free

User SideMenu

Adds side menu for User plugin.

463 installations
# 317 in Free of all time.
Free

User SideMenu

Adds side menu for User plugin.

Pay
Free

Pay

Invoicing and Accounting

4,952 installations
# 142 in Free of all time.
Free

Pay

Invoicing and Accounting

Blog Front Editor
$10

Blog Front Editor

Delegate Blog Posting to Authorized Front-end Users

53 projects
# 60 in Paid of all time.
$10

Blog Front Editor

Delegate Blog Posting to Authorized Front-end Users

Login As User
Free

Login As User

Logs you in as a certain frontend or backend user.

2,235 installations
# 125 in Free of all time.
Free

Login As User

Logs you in as a certain frontend or backend user.

User Extended
Free

User Extended

User Extended Core adds Roles, Settings, Timezones, Route Management, Profiles, and Utilities to Rainlab.User

2,438 installations
# 163 in Free of all time.
Free

User Extended

User Extended Core adds Roles, Settings, Timezones, Route Management, Profiles, and Utilities to Rainlab.User

JWT Auth API
Free

JWT Auth API

JSON Web Token Authentication for your OctoberCMS API integrated with RainLab.User

6,516 installations
# 130 in Free of all time.
Free

JWT Auth API

JSON Web Token Authentication for your OctoberCMS API integrated with RainLab.User

Comments
$7.50

Comments

A plugin for discussing published content. Features email reply notifications and a reload free posting experi...

50 projects
# 64 in Paid of all time.
$7.50

Comments

A plugin for discussing published content. Features email reply notifications and a reload free posting experi...

WeChat
$5

WeChat

Binding management for WeChat

4 projects
# 177 in Paid of all time.
$5

WeChat

Binding management for WeChat

Cashier
Free

Cashier

Plugin to handle Stripe and Braintree payments using Laravel Cashier

943 installations
# 187 in Free of all time.
Free

Cashier

Plugin to handle Stripe and Braintree payments using Laravel Cashier

Cumulus Core
Free

Cumulus Core

The heart and start point of any Cumulus application

731 installations
# 189 in Free of all time.
Free

Cumulus Core

The heart and start point of any Cumulus application

Favorites
Free

Favorites

Adds a favorite feature to your October models.

603 installations
# 593 in Free of all time.
Free

Favorites

Adds a favorite feature to your October models.

Two-Factor Auth Front-end
$10

Two-Factor Auth Front-end

Extends RainLab.User with possibility to add 2-factor protection for user account

25 projects
# 74 in Paid of all time.
$10

Two-Factor Auth Front-end

Extends RainLab.User with possibility to add 2-factor protection for user account

PagSeguro
Free

PagSeguro

Component for PagSeguro payment service

48 installations
# 766 in Free of all time.
Free

PagSeguro

Component for PagSeguro payment service

Favorite Button Plugin
Free

Favorite Button Plugin

provide Favorite Button and Favorite List Component

362 installations
# 516 in Free of all time.
Free

Favorite Button Plugin

provide Favorite Button and Favorite List Component

Responsive Vote for October CMS
$15

Responsive Vote for October CMS

Responsive Poll/Vote, Support Anonymous, recaptcha

7 projects
# 136 in Paid of all time.
$15

Responsive Vote for October CMS

Responsive Poll/Vote, Support Anonymous, recaptcha

CRM Pro
$50

CRM Pro

The professional Customer Relations Manager (CRM) for October

35 projects
# 105 in Paid of all time.
$50

CRM Pro

The professional Customer Relations Manager (CRM) for October

Mall
Free

Mall

E-commerce shop solution for October CMS

10,298 installations
# 46 in Free of all time.
Free

Mall

E-commerce shop solution for October CMS

Skip Maintenance
Free

Skip Maintenance

Adds the possibility to skip the maintenance page for frontend user by using authentification.

87 installations
# 703 in Free of all time.
Free

Skip Maintenance

Adds the possibility to skip the maintenance page for frontend user by using authentification.

Easy Shop
Free

Easy Shop

Best eCommerce and intuitive plugin for OctoberCMS

1,178 installations
# 236 in Free of all time.
Free

Easy Shop

Best eCommerce and intuitive plugin for OctoberCMS

Add user group on register
Free

Add user group on register

Assign user group to a user when the user registers

55 installations
# 610 in Free of all time.
Free

Add user group on register

Assign user group to a user when the user registers

Pyrolancer
$397

Pyrolancer

A freelance marketplace for online and remote workers.

51 projects
# 206 in Paid of all time.
$397

Pyrolancer

A freelance marketplace for online and remote workers.

Blog Comments
$5

Blog Comments

Add comment section to blog post! Available for registered users and guests.

49 projects
# 79 in Paid of all time.
$5

Blog Comments

Add comment section to blog post! Available for registered users and guests.

Guestbook
Free

Guestbook

Guestbook for your website with Markdown syntax and smiles.

108 installations
# 650 in Free of all time.
Free

Guestbook

Guestbook for your website with Markdown syntax and smiles.

Access
$5

Access

Single page application for login and registration

14 projects
# 109 in Paid of all time.
$5

Access

Single page application for login and registration

Social Connect
Free

Social Connect

Allows visitors to register/sign in with their social accounts. Based on Socialite.

349 installations
# 423 in Free of all time.
Free

Social Connect

Allows visitors to register/sign in with their social accounts. Based on Socialite.

SocialAuth
Free

SocialAuth

Social Auth plugin for OctoberCMS by Ceyleon

220 installations
# 632 in Free of all time.
Free

SocialAuth

Social Auth plugin for OctoberCMS by Ceyleon

Ideas Ecommerce
$30

Ideas Ecommerce

Simple, powerful, flexible shopping cart

0 projects
# 208 in Paid of all time.
$30

Ideas Ecommerce

Simple, powerful, flexible shopping cart

Members Pro
$50

Members Pro

Monetize your content with subscriptions

26 projects
# 102 in Paid of all time.
$50

Members Pro

Monetize your content with subscriptions

Invoice Pro
$50

Invoice Pro

Create invoices that you can email or download as PDF and pay online

24 projects
# 100 in Paid of all time.
$50

Invoice Pro

Create invoices that you can email or download as PDF and pay online

Menu Item Session Check
Free

Menu Item Session Check

Hide menu item(s) by checking RainLab Session component on referenced CMS layout or page

111 installations
# 355 in Free of all time.
Free

Menu Item Session Check

Hide menu item(s) by checking RainLab Session component on referenced CMS layout or page

Commentable
$19.95

Commentable

Provides pre-moderateable comments for your site.

11 projects
# 112 in Paid of all time.
$19.95

Commentable

Provides pre-moderateable comments for your site.

uCollect
$15

uCollect

Create surveys quickly with ease

3 projects
# 172 in Paid of all time.
$15

uCollect

Create surveys quickly with ease

Disable Password Auth
Free

Disable Password Auth

Disable password for specific users. Forces the use of another auth method.

108 installations
# 537 in Free of all time.
Free

Disable Password Auth

Disable password for specific users. Forces the use of another auth method.

Helpdesk
$20

Helpdesk

An issue tracking system built to assist your customer support team

20 projects
# 83 in Paid of all time.
$20

Helpdesk

An issue tracking system built to assist your customer support team

Synapse LMS Pro
$50

Synapse LMS Pro

A Learning Management System for October.

24 projects
# 95 in Paid of all time.
$50

Synapse LMS Pro

A Learning Management System for October.

Badges Lite
Free

Badges Lite

Assign SVG badges to users

100 installations
# 692 in Free of all time.
Free

Badges Lite

Assign SVG badges to users

Roles for RainLab.User
Free

Roles for RainLab.User

RainLab.User adapter for Roles plugin: access rights based on roles hierarchy

257 installations
# 450 in Free of all time.
Free

Roles for RainLab.User

RainLab.User adapter for Roles plugin: access rights based on roles hierarchy

Job Portal
$10

Job Portal

Create your very own job portal and connect employers and talents

4 projects
# 152 in Paid of all time.
$10

Job Portal

Create your very own job portal and connect employers and talents

Likes
Free

Likes

Provides a system of likes and dislikes for custom models

113 installations
# 668 in Free of all time.
Free

Likes

Provides a system of likes and dislikes for custom models

Member Bill
$15

Member Bill

Membership / Package Sales System

0 projects
# 214 in Paid of all time.
$15

Member Bill

Membership / Package Sales System

Conditions Users
Free

Conditions Users

RainLab User integration for Sixgweb Conditions Plugin

8 installations
# 646 in Free of all time.
Free

Conditions Users

RainLab User integration for Sixgweb Conditions Plugin

Attributize Users
Free

Attributize Users

RainLab User integration for Sixgweb Attributize Plugin

23 installations
# 407 in Free of all time.
Free

Attributize Users

RainLab User integration for Sixgweb Attributize Plugin

Gamify
Free

Gamify

Add gamification in OctoberCMS with reputation point and badges support

5 installations
# 749 in Free of all time.
Free

Gamify

Add gamification in OctoberCMS with reputation point and badges support

Webhook
Free

Webhook

Webhooks allow external services to be notified when certain events happen. When the specified events happen,...

40 installations
# 195 in Free of all time.
Free

Webhook

Webhooks allow external services to be notified when certain events happen. When the specified events happen,...

Forgot Password
Free

Forgot Password

Allows users who have forgotten their password to unlock, retrieve, or reset it.

34 installations
# 38 in Free of all time.
Free

Forgot Password

Allows users who have forgotten their password to unlock, retrieve, or reset it.

OctoVisit
Free

OctoVisit

A plugin to keep track of your pages & understand your audience.A clean way to track your pages & understand y...

15 installations
# 116 in Free of all time.
Free

OctoVisit

A plugin to keep track of your pages & understand your audience.A clean way to track your pages & understand y...

The following themes use this plugin
Free

Vanilla

8,123 installations
# 7 in Free of all time.
Free

Vanilla

A plain starter template that implements account management, a blog and community forum.

Free

Relax

4,821 installations
# 22 in Free of all time.
Free

Relax

A fictional site called House of Chairs that demonstrates how to build a client-friendly website.

Free

JK Shop Bootstrap

1,044 installations
# 48 in Free of all time.
Free

JK Shop Bootstrap

JK Shop Empty Bootstrap

Free

Octaskin

3,737 installations
# 15 in Free of all time.
Free

Octaskin

Free Modern and Clean OctoberCMS Theme based on Materialize CSS.

$5

OctoCart

43 projects
# 50 in Paid of all time.
$5

OctoCart

It is the perfect theme for your next OctoCart project.

$37.99

Multipurpose Theme with PAGE BUILDER - Success

310 projects
# 2 in Paid of all time.
$37.99

Multipurpose Theme with PAGE BUILDER - Success

Octobercms Multipurpose Theme with easy Page Builder system

$37.99

Shopaholic Theme with PAGE BUILDER - Agora

138 projects
# 3 in Paid of all time.
$37.99

Shopaholic Theme with PAGE BUILDER - Agora

Octobercms Ecommerce Theme with Powerful Eshop & Blog Capabilities and an easy Page Builder system.

$59

Modular Theme with PAGE BUILDER - Clear

287 projects
# 1 in Paid of all time.
$59

Modular Theme with PAGE BUILDER - Clear

Octobercms Multipurpose Theme with Powerful Settings and an easy CRUD Generator - Page Builder system

Free

Mall Demo Theme

4,262 installations
# 20 in Free of all time.
Free

Mall Demo Theme

Official starter theme for the Mall e-commerce plugin

$100

Freelance

10 projects
# 26 in Paid of all time.
$100

Freelance

A freelance marketplace website for remote and freelance workers.

$19.99

PAGE BUILDER - Modular Theme

12 projects
# 27 in Paid of all time.
$19.99

PAGE BUILDER - Modular Theme

Convenient page builder with 50+ blocks

$29

DeepITer Blog Theme

3 projects
# 44 in Paid of all time.
$29

DeepITer Blog Theme

Personal blogger theme base on OctoberCMS.

$99

Ultimate Website Builder - CREATOR Theme Bundle

40 projects
# 6 in Paid of all time.
$99

Ultimate Website Builder - CREATOR Theme Bundle

The Ultimate Octobercms Theme Bundle with Advanced Page Builder & Powerful Component Blocks

$59

Purpose

5 projects
# 31 in Paid of all time.
$59

Purpose

A multipurpose and contemporary flat design OctoberCMS theme with rich animations With Native Page Builder

$69

eMarket - Advanced E-Commerce Octobercms theme

29 projects
# 8 in Paid of all time.
$69

eMarket - Advanced E-Commerce Octobercms theme

Premium Ecommerce Octobercms theme based on OFFLINE Mall Plugin

$15

AdminLTE24Pro

0 projects
# 63 in Paid of all time.
$15

AdminLTE24Pro

AdminLTEPro is a fully responsive administration template. Highly customizable and easy to use.

Free

Bootstrap 5 Mall Starter

256 installations
# 41 in Free of all time.
Free

Bootstrap 5 Mall Starter

Unofficial Bootstrap 5 starter theme for the Mall e-commerce plugin, based on the original Mall Starter theme

Session Component

The session component should be added to a layout that has registered users. It has no default markup.

User Variable

You can check the logged in user by accessing the {{ user }} Twig variable:

{% if user %}
    <p>Hello {{ user.name }}</p>
{% else %}
    <p>Nobody is logged in</p>
{% endif %}

Signing Out

The Session component allows a user to sign out of their session.

<a data-request="onLogout" data-request-data="redirect: '/good-bye'">Sign out</a>

Page Restriction

The Session component allows the restriction of a page or layout by allowing only signed in users, only guests or no restriction. This example shows how to restrict a page to users only:

title = "Restricted page"
url = "/users-only"

[session]
security = "user"
redirect = "home"

The security property can be user, guest or all. The redirect property refers to a page name to redirect to when access is restricted.

Route Restriction

Access to routes can be restricted by applying the AuthMiddleware.

Route::group(['middleware' => \RainLab\User\Classes\AuthMiddleware::class], function () {
    // All routes here will require authentication
});

Token Variable

The token Twig variable can be used for generating a new bearer token for the signed in user.

{% do response(
    ajaxHandler('onSignin').withVars({
        token: session.token
    })
) %}

The checkToken property of the component is used to verify a supplied token in the request headers (Authorization: Bearer TOKEN).

[session]
checkToken = 1

Account Component

The account component provides a user sign in form, registration form, activation form and update form. To display the form:

title = "Account"
url = "/account/:code?"

[account]
redirect = "home"
paramCode = "code"
==
{% component 'account' %}

If the user is logged out, this will display a sign in and registration form. Otherwise, it will display an update form. The redirect property is the page name to redirect to after the submit process is complete. The paramCode is the URL routing code used for activating the user, only used if the feature is enabled.

Reset Password Component

The reset password component allows a user to reset their password if they have forgotten it.

title = "Forgotten your password?"
url = "/forgot-password/:code?"

[resetPassword]
paramCode = "code"
==
{% component 'resetPassword' %}

This will display the initial restoration request form and also the password reset form used after the verification email has been received by the user. The paramCode is the URL routing code used for resetting the password.

Using a Login Name

By default the User plugin will use the email address as the login name. To switch to using a user defined login name, navigate to the backend under System > Users > User Settings and change the Login attribute under the Sign in tab to be Username. Then simply ask for a username upon registration by adding the username field:

<form data-request="onRegister">
    <label>Full Name</label>
    <input name="name" type="text" placeholder="Enter your full name">

    <label>Email</label>
    <input name="email" type="email" placeholder="Enter your email">

    <label>Username</label>
    <input name="username" placeholder="Pick a login name">

    <label>Password</label>
    <input name="password" type="password" placeholder="Choose a password">

    <button type="submit">Register</button>
</form>

We can add any other additional fields here too, such as phone, company, etc.

Password Length Requirements

By default, the User plugin requires a minimum password length of 8 characters for all users when registering or changing their password. You can change this length requirement by going to backend and navigating to System > Users > User Settings. Inside the Registration tab, a Minimum password length field is provided, allowing you to increase or decrease this limit to your preferred length.

Error Handling

Flash Messages

This plugin makes use of October's Flash API. In order to display the error messages, you need to place the following snippet in your layout or page.

{% flash %}
    <div class="alert alert-{{ type == 'error' ? 'danger' : type }}">{{ message }}</div>
{% endflash %}

AJAX Errors

The User plugin displays AJAX error messages in a simple alert()-box by default. However, this might scare non-technical users. You can change the default behavior of an AJAX error from displaying an alert() message, like this:

<script>
    $(window).on('ajaxErrorMessage', function (event, message){

        // This can be any custom JavaScript you want
        alert('Something bad happened, mate, here it is: ' + message);

        // This will stop the default alert() message
        event.preventDefault();

    })
</script>

Checking Email/Username Availability

Here is a simple example of how you can quickly check if an email address / username is available in your registration forms. First, inside the page code, define the following AJAX handler to check the login name, here we are using the email address:

public function onCheckEmail()
{
    return ['isTaken' => Auth::findUserByLogin(post('email')) ? 1 : 0];
}

For the email input we use the data-request and data-track-input attributes to call the onCheckEmail handler any time the field is updated. The data-request-success attribute will call some jQuery code to toggle the alert box.

<div class="form-group">
    <label>Email address</label>
    <input
        name="email"
        type="email"
        class="form-control"
        data-request="onCheckEmail"
        data-request-success="$('#loginTaken').toggle(!!data.isTaken)"
        data-track-input />
</div>

<div id="loginTaken" class="alert alert-danger" style="display: none">
    Sorry, that login name is already taken.
</div>

Overriding Functionality

Here is how you would override the onSignin() handler to log any error messages. Inside the page code, define this method:

function onSignin()
{
    try {
        return $this->account->onSignin();
    }
    catch (Exception $ex) {
        Log::error($ex);
    }
}

Here the local handler method will take priority over the account component's event handler. Then we simply inherit the logic by calling the parent handler manually, via the component object ($this-&gt;account).

Auth Facade

There is an Auth facade you may use for common tasks, it primarily inherits the October\Rain\Auth\Manager class for functionality.

You may use Auth::register to register an account:

$user = Auth::register([
    'name' => 'Some User',
    'email' => 'some@website.tld',
    'password' => 'changeme',
    'password_confirmation' => 'changeme',
]);

The second argument can specify if the account should be automatically activated:

// Auto activate this user
$user = Auth::register([...], true);

The Auth::check method is a quick way to check if the user is signed in.

// Returns true if signed in.
$loggedIn = Auth::check();

To return the user model that is signed in, use Auth::getUser instead.

// Returns the signed in user
$user = Auth::getUser();

You may authenticate a user by providing their login and password with Auth::authenticate.

// Authenticate user by credentials
$user = Auth::authenticate([
    'login' => post('login'),
    'password' => post('password')
]);

The second argument is used to store a non-expire cookie for the user.

$user = Auth::authenticate([...], true);

You can also authenticate as a user simply by passing the user model along with Auth::login.

// Sign in as a specific user
Auth::login($user);

The second argument is the same.

// Sign in and remember the user
Auth::login($user, true);

You may look up a user by their login name using the Auth::findUserByLogin method.

$user = Auth::findUserByLogin('some@email.tld');

When working with authentication via bearer tokens, the Auth::getBearerToken method can be used to obtain a bearer token (JWT) for the current user. It expires after 1 hour by default.

$token = Auth::getBearerToken();

The Auth::checkBearerToken method is used to verify a supplied token and authenticate the user. The method returns true if the verification was successful.

if ($jwtToken = Request::bearerToken()) {
    Auth::checkBearerToken($jwtToken);
}

Guest Users

Creating a guest user allows the registration process to be deferred. For example, making a purchase without needing to register first. Guest users are not able to sign in and will be added to the user group with the code guest.

Use the Auth::registerGuest method to create a guest user, it will return a user object and can be called multiple times. The unique identifier is the email address, which is a required field.

$user = Auth::registerGuest(['email' => 'person@acme.tld']);

When a user registers with the same email address using the Auth::register method, they will inherit the existing guest user account.

// This will not throw an "Email already taken" error
$user = Auth::register([
    'email' => 'person@acme.tld',
    'password' => 'changeme',
    'password_confirmation' => 'changeme',
]);

Important: If you are using guest accounts, it is important to disable sensitive functionality for user accounts that are not verified, since it may be possible for anyone to inherit a guest account.

You may also convert a guest to a registered user with the convertToRegistered method. This will generate a random password and sends an invitation using the rainlab.user::mail.invite template.

$user->convertToRegistered();

To disable the notification and password reset, pass the first argument as false.

$user->convertToRegistered(false);

Working with APIs

When building API endpoints using CMS pages it can be useful to use a page for handling the authentication logic. The following is a simple example that includes various API endpoints.

title = "User API Page"
url = "/api/user/:action"

[resetPassword]
[account]
[session]
checkToken = 1
==
{% if this.param.action == 'signin' %}
    {% do response(
        ajaxHandler('onSignin').withVars({
            token: session.token()
        })
    ) %}
{% endif %}

{% if this.param.action == 'register' %}
    {% do response(ajaxHandler('onRegister')) %}
{% endif %}

{% if this.param.action == 'logout' %}
    {% do response(ajaxHandler('onLogout')) %}
{% endif %}

{% if this.param.action == 'refresh' %}
    {% do response({ data: {
        token: session.token()
    }}) %}
{% endif %}

An API layout to verify the user can be used for other API endpoints.

description = "Auth API Layout"
is_priority = 1

[session]
checkToken = 1
==
{% if session.user %}
    {% page %}
{% else %}
    {% do abort(403, 'Access Denied') %}
{% endif %}

Events

This plugin will fire some global events that can be useful for interacting with other plugins.

  • rainlab.user.beforeRegister: Before the user's registration is processed. Passed the $data variable by reference to enable direct modifications to the $data provided to the Auth::register() method.
  • rainlab.user.register: The user has successfully registered. Passed the $user object and the submitted $data variable.
  • rainlab.user.beforeAuthenticate: Before the user is attempting to authenticate using the Account component.
  • rainlab.user.login: The user has successfully signed in.
  • rainlab.user.logout: The user has successfully signed out.
  • rainlab.user.deactivate: The user has opted-out of the site by deactivating their account. This should be used to disable any content the user may want removed.
  • rainlab.user.reactivate: The user has reactivated their own account by signing back in. This should revive the users content on the site.
  • rainlab.user.getNotificationVars: Fires when sending a user notification to enable passing more variables to the email templates. Passes the $user model the template will be for.
  • rainlab.user.view.extendListToolbar: Fires when the user listing page's toolbar is rendered.
  • rainlab.user.view.extendPreviewToolbar: Fires when the user preview page's toolbar is rendered.

Here is an example of hooking an event:

Event::listen('rainlab.user.deactivate', function($user) {
    // Hide all posts by the user
});

A common requirement is to adapt another to a legacy authentication system. In the example below, the WordPressLogin::check method would check the user password using an alternative hashing method, and if successful, update to the new one used by October.

Event::listen('rainlab.user.beforeAuthenticate', function($component, $credentials) {
    $login = array_get($credentials, 'login');
    $password = array_get($credentials, 'password');

    // No such user exists
    if (!$user = Auth::findUserByLogin($login)) {
        return;
    }

    // The user is logging in with their old WordPress account
    // for the first time. Rehash their password using the new
    // October system.
    if (WordPressLogin::check($user->password, $password)) {
        $user->password = $user->password_confirmation = $password;
        $user->forceSave();
    }
});
  • Found the plugin useful on 26 Mar, 2021

    Same here. I can get morphtomany works but morphmany / morphto is not working...

    Still no clue

  • Found the plugin useful on 22 Feb, 2021

    having this issue when filtering user groups:

    SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous (SQL: select count(*) as aggregate from `users` where exists (select * from `user_groups` inner join `users_groups` on `user_groups`.`id` = `users_groups`.`user_group_id` where `users`.`id` = `users_groups`.`user_id` and `id` in (1, 2)))

    this line here:

     public function scopeFilterByGroup($query, $filter)
        {
            return $query->whereHas('groups', function($group) use ($filter) {
                $group->whereIn('id', $filter);
            });
        }

    should've been:

    public function scopeFilterByGroup($query, $filter)
        {
            return $query->whereHas('groups', function($group) use ($filter) {
                $group->whereIn('users.id', $filter);
            });
        }

  • Found the plugin useful on 16 Feb, 2021

    I have find this plugin useful.

  • Found the plugin useful on 20 Oct, 2020

    Nice simple plugin with easily extendable options. My go to user management plugin!

  • Found the plugin useful on 8 Jun, 2020

    Usually i work with a 2 plugins Davask dump +, and User This is useful plugins for quick development especially when you create a forums or blogs.

  • Found the plugin useful on 16 May, 2020

    Excellent plugin, works fine, Thanks.

    Developers! Developers! Developers! Developers!

  • Found the plugin useful on 24 Mar, 2020

    best for basics purpose but documentation need to add more detials

  • Found the plugin not useful on 17 Jan, 2020

    Doesn't support PHP 7.2. and not properly developed.

  • Found the plugin useful on 24 Dec, 2019

    OK. Very helpful plugin

  • Found the plugin not useful on 10 Nov, 2019

    October has an amazing potential for becoming a #1 CMS and an Application Development System. But at the moment a lot of these capabilities are not implemented state of the art.

    The user plugin is quite typical for that. One the one hand easy to install, easy to use and working properly. On the other hand the real potential for practical use is not given. As for example: no user extendable fields, no expandable user rights and of course no relational tables. Thanks to Ivan Doric and his YouTube tutorials one can learn how to do so - but the old fashioned way. (So sadly I had to decide to dismiss the user plugin and write our own one)

    Anyhow with these steps forward October could be one of the best systems I know. I am observing now the development for almost two years, but I am missing hints for these crucial steps - still hoping they will come soon! May be a more active community would be helpful? (eg see the bug and feature system of LimeSurvey)

  • Found the plugin useful on 23 Jul, 2019

    How can I add a subcategory to the main category? Your health is good, if you have a problem with your plugin.

  • Found the plugin not useful on 10 May, 2019

    Im new in October and this plugin don't work for me properly. Other plugin concern news work good but this no. Im added to the partial file by components and then include to the homepage and nothing show. What doing I badly way?

    thank you

  • Found the plugin useful on 23 Apr, 2019

    No issues at all. Very basic account management, but easy to extend with more features.

  • Found the plugin not useful on 7 Mar, 2019

    not clear for with plugin it is, now i see when i buy it that it is only for jkshop

  • Found the plugin useful on 20 Feb, 2019

    Awesome plugin, powerful and easy customizable.

  • Found the plugin useful on 14 Feb, 2019

    Hi, why is used "->lists(" ? I must change it to "->pluck(", because I have problem after instaling laravel-firebird.

    Error was: Call to undefined method Illuminate\Database\Query\Builder::lists()

  • Found the plugin useful on 7 Nov, 2018

    Needs more options and features

  • Found the plugin useful on 6 Nov, 2018

    Awesome plugin!

  • Found the plugin useful on 26 Oct, 2018

    Great Plugin

  • Found the plugin useful on 21 Jun, 2018

    Maybe it will help some one If you use custom layout:

    1. do not forget to add {% framework extra %} at the end of layout. Otherwise AJAX will not work

    2. add at the (!) top of layout file [account] redirect = "dashboard" paramCode = "code" forceSecure = 0

      Otherwise you will get onRegister and onSignin not found

  • Found the plugin useful on 1 Jun, 2018

    amazing plugin !

  • Found the plugin useful on 29 May, 2018

    Lovely theme with a nice and easy to use page builder. Used this theme for developing a new website for a client. At the same time I was discovering and learning the October Content Management System. While walking this path, I noticed that the support of the theme-developer is excellent ...

  • Found the plugin useful on 12 May, 2018

    This plugin is awesome! Thanks

  • Found the plugin useful on 17 Apr, 2018

    Excellent plugin, it fulfills its function!

  • Found the plugin useful on 14 Mar, 2018

    Future updates to come, this is the foundation for an epic site-wide alert system

  • Found the plugin useful on 8 Feb, 2018

    Guys, it's nice to have so many localizations, but none of the form partials use them. (For example the login partial). I see you had a lot of work with the loc files, but your plugin only use the half of them , because in the templates the text is hardwired. Except this, the plugin is great.

  • Found the plugin useful on 31 Dec, 2017

    it's marvelous.!!!

  • Found the plugin useful on 26 Dec, 2017

    This is the most useful plugin I have ever encountered and I am developer as well!!

  • Found the plugin useful on 14 Dec, 2017

    Hi. I got issue on this plugin. Forgot-password function not working. It seems error like this: Class name is not registered for the component "resetPass". Check the component plugin. Please help me.

  • Found the plugin not useful on 30 Nov, 2017

    Doing exactly as demonstrated in the video tutorials to get this plugin working it just not seems to work. Installing the plugin, adding the user component to a page. After registering the page is refreshed, fields are empty and no user is being created in the backend....what can I possibly be doing wrong while it seems so simple?

    Help?

  • Found the plugin useful on 28 Nov, 2017

    A huge time saving!

  • Found the plugin useful on 28 Nov, 2017

    perfect and easily extendable

  • Found the plugin useful on 7 Aug, 2017

    xDxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

  • Found the plugin useful on 6 Jun, 2017

    This plugin works well for single contact form or if you have the patience to redo everything if you have multiple forms each page. Though very useful it lacks some of the need functionality that will make it a great plugins like:

    1. Duplicate Forms - So you can only add/remove needed fields
    2. Export Forms - this is a must specially when you need to test your forms locally and exporting them to your production, well you can do this by going directly to database but that forfeits the purpose of having a CMS.
    3. Docs need to be updated and more examples will be helpful (e.g. Date pickers using bootstrap)
    4. Better formatting, though you can get around using bootstrap

    Overall, I'm happy with the plugin

  • Found the plugin useful on 15 Apr, 2017

    Hello, i want to ask, how to check if the user is have role admin? is that {% if user.groups %} ? but that's not work at all.

  • Found the plugin useful on 13 Apr, 2017

    Awesome plugin

  • Found the plugin useful on 11 Apr, 2017

    The user plugin will be required by the vast majority of sites for commenting on content and helping to prevent spamming. Adding the plugin to the base installation gives a massive advantage to sites that require user access. Although it could be more detailed, it is a good framework which can be expanded upon.

  • Found the plugin useful on 23 Mar, 2017

    Very useful and flexible

  • Found the plugin useful on 24 Sep, 2016

    Great plugin.

    For all who are struggeling with the activation url: Check your route!

    url = "/your/route/:code?"
    
    [account]
    paramCode = "code"

  • Found the plugin not useful on 22 Jul, 2016

    Too many plugins relying on this one plugin, having to extend everything in the boot section of the Plugin.php, Cannot extend models because of this reliance. ( I was able to override the auth facade, however relations remain unable to be overridden because of the the extending features).

    Its a good plugin, but the fact that every other plugin has a developer being forced to use it really does not work out well. Its a huge barrier that needs to be fixed, mainly issue with extending needs to be fixed.

  • Found the plugin useful on 21 Jul, 2016

    This plugin really good but in register page I am facing ajax error

    "AJAX handler 'onRegister' was not found." How solve this?

  • Found the plugin useful on 17 Jul, 2016

    How should I do when the user login redirect the Previous page not the home or '/'?

  • Found the plugin useful on 27 Jun, 2016

    the activation email link simply goes back to the signup form. But doesn't actually active the account. is this a bug?

  • Found the plugin useful on 22 Jun, 2016

    well... but how to make a login form for validate users

  • Found the plugin useful on 29 May, 2016

    this plugin realy good but how i can add a disconect (logout) button ?

  • Found the plugin useful on 26 May, 2016

    Very good plugin but can someone tell me how to hide the registration form? I have set up the settings to deactivate the registration but it is still being displayed.

    I would like to only display the login form.

    Thanks

  • Found the plugin useful on 14 May, 2016

    As a PHP user for over 15 years and a Laravel advocate for the past 3, I've gotta say I'm really loving OctoberCMS. I had built and maintained my own PHP web framework for years, but when it became to unwieldy to continue to maintain, I searched high and low for something that would replace all the functionality I'd spent so long creating, and October, thus far, has delivered in spades. The User plugin is a basic scaffolding for end user accounts, written cleanly and simply enough that it is easy to extend once you wrap your head around October's coding conventions. I started using October on a project-for-hire, but as soon as I finish that up, I'll be redesigning two of my personal sites using October as well.

  • Found the plugin useful on 26 Apr, 2016

    Very usefull plugin, It would be useful to integrate the captcha directly in this plugin

  • Found the plugin useful on 13 Apr, 2016

    Hey! I've found some issues with this plugin. When I enters the plugin's settings (/backend/system/settings/update/rainlab/user/settings), it throws an exeption: 'Call to undefined method October\Rain\Database\QueryBuilder::listAllTemplates()'. What's wrong? I just install the plugin and that's all, don't even start to use it..

  • Found the plugin useful on 8 Apr, 2016

    very usesul

  • Found the plugin useful on 24 Mar, 2016

    Good plugin

  • Found the plugin useful on 22 Mar, 2016

    Hi, Thanks for this plugin. It's amazing. But I did't find the registration page and user authentication. You can help me please. Thanks you.

  • Found the plugin useful on 10 Feb, 2016

    Great plugin with ACL control.

  • Found the plugin useful on 1 Dec, 2015

    Simple and Fast. Really useful.

  • Found the plugin useful on 3 Nov, 2015

    Like the Plugin

  • Found the plugin useful on 15 Oct, 2015

    Nice, but not enough extendable :)

  • Found the plugin useful on 8 Oct, 2015

    Seems great so far. Haven't really needed to use much of it at the moment so I'll bring my true review back in the next month or so.

  • Found the plugin useful on 21 Sep, 2015

    Very useful. Was the backbone of just about every site I've made with October

  • Found the plugin useful on 29 Jul, 2015

    ioCare, thank you for {% framework %}. It was veru helpful.

  • Found the plugin useful on 20 Jul, 2015

    I'm unable to update user information from the front end. It does work only on the backend

  • Found the plugin useful on 12 Jul, 2015

    good one for basic component (must have)

  • Found the plugin useful on 9 Jul, 2015

    Great plugin! Thanks!

  • Found the plugin useful on 22 Jun, 2015

    thats greatt...

  • Found the plugin useful on 3 Jun, 2015

    Awesome !!! :)

  • Found the plugin useful on 28 May, 2015

    Very good and helping a lot.

  • Found the plugin useful on 26 May, 2015

    Very useful plugin. would use again.

  • Found the plugin useful on 26 May, 2015

    Works as designed, keep up the good work!

  • Found the plugin useful on 3 May, 2015

    {% framework %} is required to be added in layout for this thing to work.for ajax calls. It should have been mentioned in docs in case if some one is designing pages from scratch.

  • Found the plugin useful on 1 Mar, 2015

    I have a doubt, with User::count() i have the number of registered users. but how i can get this:

    • Users connecteds
    • Guest users

  • Found the plugin useful on 15 Jan, 2015

    Excellent plugin!

  • Found the plugin useful on 10 Jan, 2015

    f you desire to login with username instead of email address, then provided username is added to the registration form (in additon to email) and the login form (instead of email) then the documentation suggests it will work. However, registration saves the username as the email address, regardless of what username is specified. The only way I have managed to solve this is to make the following one line addition to the plugin code {Rainlab/User/Models/User}:

        protected $fillable = [
            'name',
            'login',
            'email',
            'password',
            'password_confirmation',
            'company',
            'phone',
            'street_addr',
            'city',
            'zip',
            'country',
            'state',
            'username'    // NOTE I HAVE ADDED THIS
        ];

    Hope this helps and can be added in future updates.

  • Found the plugin useful on 9 Jan, 2015

    The plugin has good functionality but not very nice error handling/display. I got round this by editing Account.php (which was a last resort as will now need to be careful when plugin is updated)....The areas of changed code are in function onSignin() as below:

            $validation = Validator::make($data, $rules);
            if ($validation->fails()) {
                $flash_message = "";
                $messages = $validation->messages();
                foreach ($messages->all() as $message)
                {
                    if ($flash_message != "")
                        $flash_message = $flash_message . " and ";
                    $flash_message = $flash_message . $message;
                }
                Flash::error($flash_message);
                return Redirect::to('account');
            }
    
            /*
             * Authenticate user (MODIFIED for FLASH MESSAGES)
             */
            try {
                $user = Auth::authenticate([
                    'login' => array_get($data, 'login'),
                    'password' => array_get($data, 'password')
                ], true);
            }
            catch (Exception $ex) {
                Flash::error($ex->getMessage());
                return Redirect::to('account'); //redirect back to login if errors
            }
            /*
             * Redirect to the intended page after successful sign in
             */
            $redirectUrl = $this->pageUrl($this->property('redirect'));
            Flash::error('User authenticated! ' . $user);
            if ($redirectUrl = post('redirect', $redirectUrl))
                return Redirect::intended($redirectUrl);

  • Found the plugin useful on 17 Dec, 2014

    found.

  • Found the plugin useful on 17 Dec, 2014

    Hy, Iam a noob and start with OC-CMS. My Question is: where i can class the login / sign form?

  • Found the plugin useful on 14 Oct, 2014

    Super easy, great documentation

  • Found the plugin useful on 15 Sep, 2014

    Very useful plugin. It just lacks nicer error messages, but apart from that I find it really useful and I am very glad I don't have to use drupal or joomla anymore for user-oriented portals.

  • Found the plugin useful on 24 May, 2014

    @Hariadi Hinta / @ OctoDevel

    This issue should now be fixed.

2.1.0

Adds bearer token (JWT) support to session component

May 08, 2023

2.0.0

Compatibility with October v3 and above

Feb 21, 2023

1.7.2

Stability fixes

Feb 13, 2023

1.7.1

Fixes compatibility with legacy sites

Feb 13, 2023

1.7.0

Add password policy

Feb 13, 2023

1.6.4

Fixes bulk action button with October v3

Jan 23, 2023

1.6.3

Fixes mail blocker logic

Oct 28, 2022

1.6.2

Improve support with October v3

May 13, 2022

1.6.1

Adds component property for resetPage in ResetPassword component.

Jan 02, 2022

1.6.0

Apply persistence settings on activation and registration. Fixes last seen touched when impersonating. Fixes user suspension not clearing.

Aug 19, 2021

1.5.5

Updated settings icon and description.

Aug 19, 2021

1.5.4

Multiple translation improvements. Added view events to extend user preview and user listing toolbars.

Oct 07, 2020

1.5.3

Fixes a bug in the user update functionality if password is not changed. Added highlighting for banned users in user list.

Jan 10, 2020

1.5.2

Whitespace from usernames is now trimmed, allowed for username to be added to Reset Password mail templates.

Sep 13, 2019

1.5.1

User IP addresses are now logged. Introduce registration throttle.

Sep 01, 2019

1.5.0

!!! Required password length is now a minimum of 8 characters. Previous passwords will not be affected until the next password change.

Jun 22, 2019

1.4.8

Fixes a bug where calling MailBlocker::removeBlock could remove all mail blocks for the user.

Jun 06, 2019

1.4.7

Fixes redirect bug in Account component / Update translations and separate user and group management.

Apr 11, 2019

1.4.6

Fixes Auth::register method signature mismatch with core OctoberCMS Auth library

May 22, 2018

1.4.5

Added token fallback process to Account / Reset Password components when parameter is missing.

Nov 26, 2017

1.4.4

Fixes bug where impersonation touches the last seen timestamp.

Nov 21, 2017

1.4.3

Fixes session handling for AJAX requests.

Oct 16, 2017

1.4.2

Fixes security bug in Password Reset component.

Oct 02, 2017

1.4.1

Added support for user impersonation.

Jul 28, 2017

1.4.0

!!! The Notifications tab in User settings has been removed.

Jul 28, 2017

1.3.4

Added force secure protocol property to the account component.

Dec 15, 2016

1.3.3

Allow prevention of concurrent user sessions via the user settings.

Nov 17, 2016

1.3.2

Minor fix to the Auth::register method.

Sep 17, 2016

1.3.1

User notification variables can now be extended.

Sep 08, 2016

1.3.0

Introduced guest user accounts.

Sep 08, 2016

1.2.9

Add invitation mail for new accounts created in the back-end.

Sep 08, 2016

1.2.8

Add date range filter to users list. Introduced a logout event.

Jul 25, 2016

1.2.7

Minor fix to user timestamp attributes.

Jul 06, 2016

1.2.6

Add a dedicated last seen column for users.

Jun 29, 2016

1.2.5

Database maintenance. Updated all timestamp columns to be nullable.

Apr 29, 2016

1.2.4

Added a checkbox for blocking all mail sent to the user.

Apr 28, 2016

1.2.3

Included some descriptive paragraphs in the Reset Password component markup.

Feb 13, 2016

1.2.2

Add bulk action button to user list.

Feb 08, 2016

1.2.1

New feature for checking if a user is recently active/online.

Dec 29, 2015

1.2.0

Users can now deactivate their own accounts.

Dec 11, 2015

1.1.5

Adds a new permission to hide the User settings menu item.

Dec 11, 2015

1.1.4

User list can be filtered by the group they belong to.

Dec 11, 2015

1.1.3

Adds a super user flag to the users table, reserved for future use.

Nov 27, 2015

1.1.2

A raw URL can now be passed as the redirect property in the Account component.

Sep 27, 2015

1.1.1

Users can now be added to groups.

Sep 25, 2015

1.1.0

!!! Profile fields and Locations have been removed.

Sep 25, 2015

1.0.16

Require permissions for settings page too.

Apr 28, 2015

1.0.15

Adds last name column to users table (surname).

Feb 20, 2015

1.0.14

Minor improvements to the code.

Feb 13, 2015

1.0.13

Minor fix to the Account sign in logic.

Oct 31, 2014

1.0.12

Create a dedicated setting for choosing the login mode.

Oct 08, 2014

1.0.11

Users now have an optional login field that defaults to the email field.

Sep 13, 2014

1.0.10

Adds administrator-only activation mode.

Sep 13, 2014

1.0.9

Adds new welcome mail message for users and administrators.

Sep 13, 2014

1.0.8

Updated the Settings page

Jul 27, 2014

1.0.7

Adds default country and state fields to Settings page

Jul 12, 2014

1.0.6

Added Mail Blocker utility so users can block specific mail templates

Jul 05, 2014

1.0.5

Added contact details for users

Jul 03, 2014

1.0.4

Improvements to user-interface for Location manager

Jun 06, 2014

1.0.3

Fixes various bugs

May 28, 2014

1.0.2

Add seed data for countries and states

May 12, 2014

1.0.1

Initialize plugin

Apr 04, 2014

Upgrading To 1.1

The User plugin has been split apart in to smaller more manageable plugins. These fields are no longer provided by the User plugin: company, phone, street_addr, city, zip, country, state. This is a non-destructive upgrade so the columns will remain in the database untouched.

Country and State models have been removed and can be replaced by installing the plugin RainLab.Location. The remaining profiles fields can be replaced by installing the plugin RainLab.UserPlus.

In short, to retain the old functionaliy simply install the following plugins:

  • RainLab.Location
  • RainLab.UserPlus

Upgrading To 1.4

The Notifications tab in User settings has been removed. This feature has been replaced by the Notify plugin. How to replace this feature:

  1. Install the RainLab.Notify plugin
  2. Navigate to Settings > Notification rules
  3. Click New notification rule
  4. Select User > Activated
  5. Click Add action
  6. Select Compose a mail message
  7. Select User email address for the Send to field
  8. Here you may select the Mail template previously defined in the user settings.
  9. Click Save