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
A simple embeddable forum
Forum
A simple embeddable forum

Social Login
Log in with your social media accounts!
Social Login
Log in with your social media accounts!

PrivateFiles
Share downloads only with the users you want.
PrivateFiles
Share downloads only with the users you want.

BlogProtect
Restrict RainLab Blog Post viewers by category permission
BlogProtect
Restrict RainLab Blog Post viewers by category permission

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

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

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

User Select
Powerful yet user friendly way to choose multiple users
User Select
Powerful yet user friendly way to choose multiple users

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

OctoCart
The Best October eCommerce/shop Platform
OctoCart
The Best October eCommerce/shop Platform

User Support
Ticket system for communicating with users
User Support
Ticket system for communicating with users

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

User Plus+
Adds extra features to the User plugin.
User Plus+
Adds extra features to the User plugin.

User import/export
Import and export feature for User plugin.
User import/export
Import and export feature for User plugin.

User Access Log
Logs users accesses and makes nice graphs.
User Access Log
Logs users accesses and makes nice graphs.

Passage Permission and Roles System
Fast, Efficient permissions and roles system for your site pages and resources.
Passage Permission and Roles System
Fast, Efficient permissions and roles system for your site pages and resources.

User PDF export
Export user's profile to PDF in one click.
User PDF export
Export user's profile to PDF in one click.

User SideMenu
Adds side menu for User plugin.
User SideMenu
Adds side menu for User plugin.

Pay
Invoicing and Accounting
Pay
Invoicing and Accounting

Blog Front Editor
Delegate Blog Posting to Authorized Front-end Users
Blog Front Editor
Delegate Blog Posting to Authorized Front-end Users

Login As User
Logs you in as a certain frontend or backend user.
Login As User
Logs you in as a certain frontend or backend user.

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

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

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

Binding management for WeChat
Binding management for WeChat

Cashier
Plugin to handle Stripe and Braintree payments using Laravel Cashier
Cashier
Plugin to handle Stripe and Braintree payments using Laravel Cashier

Cumulus Core
The heart and start point of any Cumulus application
Cumulus Core
The heart and start point of any Cumulus application

Favorites
Adds a favorite feature to your October models.
Favorites
Adds a favorite feature to your October models.

Two-Factor Auth Front-end
Extends RainLab.User with possibility to add 2-factor protection for user account
Two-Factor Auth Front-end
Extends RainLab.User with possibility to add 2-factor protection for user account

PagSeguro
Component for PagSeguro payment service
PagSeguro
Component for PagSeguro payment service

Favorite Button Plugin
provide Favorite Button and Favorite List Component
Favorite Button Plugin
provide Favorite Button and Favorite List Component

Responsive Vote for October CMS
Responsive Poll/Vote, Support Anonymous, recaptcha
Responsive Vote for October CMS
Responsive Poll/Vote, Support Anonymous, recaptcha

CRM Pro
The professional Customer Relations Manager (CRM) for October
CRM Pro
The professional Customer Relations Manager (CRM) for October

Mall
E-commerce shop solution for October CMS
Mall
E-commerce shop solution for October CMS

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

Easy Shop
Best eCommerce and intuitive plugin for OctoberCMS
Easy Shop
Best eCommerce and intuitive plugin for OctoberCMS

Add user group on register
Assign user group to a user when the user registers
Add user group on register
Assign user group to a user when the user registers

Pyrolancer
A freelance marketplace for online and remote workers.
Pyrolancer
A freelance marketplace for online and remote workers.

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

Guestbook
Guestbook for your website with Markdown syntax and smiles.
Guestbook
Guestbook for your website with Markdown syntax and smiles.

Access
Single page application for login and registration
Access
Single page application for login and registration

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

SAML Single Sign On - SSO for OctoberCMS
SSO Single Sign On Authentication for OctoberCMS User using SAML 2.0
SAML Single Sign On - SSO for OctoberCMS
SSO Single Sign On Authentication for OctoberCMS User using SAML 2.0

SocialAuth
Social Auth plugin for OctoberCMS by Ceyleon
SocialAuth
Social Auth plugin for OctoberCMS by Ceyleon

Ideas Ecommerce
Simple, powerful, flexible shopping cart
Ideas Ecommerce
Simple, powerful, flexible shopping cart

Members Pro
Monetize your content with subscriptions
Members Pro
Monetize your content with subscriptions

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

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

Commentable
Provides pre-moderateable comments for your site.
Commentable
Provides pre-moderateable comments for your site.

uCollect
Create surveys quickly with ease
uCollect
Create surveys quickly with ease

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

Helpdesk
An issue tracking system built to assist your customer support team
Helpdesk
An issue tracking system built to assist your customer support team

Synapse LMS Pro
A Learning Management System for October.
Synapse LMS Pro
A Learning Management System for October.

Badges Lite
Assign SVG badges to users
Badges Lite
Assign SVG badges to users
![Wiki Lite [DEPRECATED]](https://d2f5cg397c40hu.cloudfront.net/storage/app/uploads/public/optimized/local/5d9/2e9/9555d92e9955d32936fd46b2e5c97a8c8b8.png)
Wiki Lite [DEPRECATED]
A simple flat-file wiki
Wiki Lite [DEPRECATED]
A simple flat-file wiki

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

Job Portal
Create your very own job portal and connect employers and talents
Job Portal
Create your very own job portal and connect employers and talents

Likes
Provides a system of likes and dislikes for custom models
Likes
Provides a system of likes and dislikes for custom models

Time Lock
Allows you to block access to content and temporarily open for specific users
Time Lock
Allows you to block access to content and temporarily open for specific users

Member Bill
Membership / Package Sales System
Member Bill
Membership / Package Sales System

Conditions Users
RainLab User integration for Sixgweb Conditions Plugin
Conditions Users
RainLab User integration for Sixgweb Conditions Plugin

Attributize Users
RainLab User integration for Sixgweb Attributize Plugin
Attributize Users
RainLab User integration for Sixgweb Attributize Plugin

Gamify
Add gamification in OctoberCMS with reputation point and badges support
Gamify
Add gamification in OctoberCMS with reputation point and badges support
The following themes use this plugin

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

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

JK Shop Bootstrap
JK Shop Bootstrap
JK Shop Empty Bootstrap

Octaskin
Octaskin
Free Modern and Clean OctoberCMS Theme based on Materialize CSS.

OctoCart
OctoCart
It is the perfect theme for your next OctoCart project.

Multipurpose Theme with PAGE BUILDER - Success
Multipurpose Theme with PAGE BUILDER - Success
Octobercms Multipurpose Theme with easy Page Builder system

Shopaholic Theme with PAGE BUILDER - Agora
Shopaholic Theme with PAGE BUILDER - Agora
Octobercms Ecommerce Theme with Powerful Eshop & Blog Capabilities and an easy Page Builder system.

Modular Theme with PAGE BUILDER - Clear
Modular Theme with PAGE BUILDER - Clear
Octobercms Multipurpose Theme with Powerful Settings and an easy CRUD Generator - Page Builder system

Mall Demo Theme
Mall Demo Theme
Official starter theme for the Mall e-commerce plugin

Freelance
Freelance
A freelance marketplace website for remote and freelance workers.

PAGE BUILDER - Modular Theme
PAGE BUILDER - Modular Theme
Convenient page builder with 50+ blocks

DeepITer Blog Theme
DeepITer Blog Theme
Personal blogger theme base on OctoberCMS.

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

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

eMarket - Advanced E-Commerce Octobercms theme
eMarket - Advanced E-Commerce Octobercms theme
Premium Ecommerce Octobercms theme based on OFFLINE Mall Plugin

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

Bootstrap 5 Mall Starter
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->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 theAuth::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(); } });
-
CL Chan
Found the plugin useful on 26 Mar, 2021
Same here. I can get morphtomany works but morphmany / morphto is not working...
Still no clue
-
Kolen Ferms
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); }); }
-
Yevhen Melnyk
Found the plugin useful on 16 Feb, 2021
I have find this plugin useful.
-
Matthew Bryson
Found the plugin useful on 20 Oct, 2020
Nice simple plugin with easily extendable options. My go to user management plugin!
-
Aydiev Mansur
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.
-
Juan David Marin
Found the plugin useful on 16 May, 2020
Excellent plugin, works fine, Thanks.
Developers! Developers! Developers! Developers!
-
karamat hussain
Found the plugin useful on 24 Mar, 2020
best for basics purpose but documentation need to add more detials
-
Jacco van den Berg | Bureau Berg
Found the plugin not useful on 17 Jan, 2020
Doesn't support PHP 7.2. and not properly developed.
-
Endi Hariadi
Found the plugin useful on 24 Dec, 2019
OK. Very helpful plugin
-
O. Villani
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)
-
assa
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.
-
Otto Zelenka
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
-
Ompmega
Found the plugin useful on 23 Apr, 2019
No issues at all. Very basic account management, but easy to extend with more features.
-
Michael van Dijk
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
-
Luis Medina
Found the plugin useful on 20 Feb, 2019
Awesome plugin, powerful and easy customizable.
-
Martin Testov
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()
-
Jean Perez
Found the plugin useful on 7 Nov, 2018
Needs more options and features
-
Shohabbos
Found the plugin useful on 6 Nov, 2018
Awesome plugin!
-
Richard Clark
Found the plugin useful on 26 Oct, 2018
Great Plugin
-
Oleg Pashkovsky
Found the plugin useful on 21 Jun, 2018
Maybe it will help some one If you use custom layout:
-
do not forget to add {% framework extra %} at the end of layout. Otherwise AJAX will not work
-
add at the (!) top of layout file [account] redirect = "dashboard" paramCode = "code" forceSecure = 0
Otherwise you will get onRegister and onSignin not found
-
-
Johnny Wen
Found the plugin useful on 1 Jun, 2018
amazing plugin !
-
Douwe Fledderus
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 ...
-
Marcos Lopez
Found the plugin useful on 12 May, 2018
This plugin is awesome! Thanks
-
Lucas Zamora
Found the plugin useful on 17 Apr, 2018
Excellent plugin, it fulfills its function!
-
Nick Humphries
Found the plugin useful on 14 Mar, 2018
Future updates to come, this is the foundation for an epic site-wide alert system
-
Zoltán Frigy
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.
-
Hekmat
Found the plugin useful on 31 Dec, 2017
it's marvelous.!!!
-
Ericson Segba Weah
Found the plugin useful on 26 Dec, 2017
This is the most useful plugin I have ever encountered and I am developer as well!!
-
rithymok
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.
-
Jasper Bruienne
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?
-
A. Rizhenkov
Found the plugin useful on 28 Nov, 2017
A huge time saving!
-
Dave W
Found the plugin useful on 28 Nov, 2017
perfect and easily extendable
-
Jacek Jasinski
Found the plugin useful on 7 Aug, 2017
xDxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
-
Herzon Garlan
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:
- Duplicate Forms - So you can only add/remove needed fields
- 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.
- Docs need to be updated and more examples will be helpful (e.g. Date pickers using bootstrap)
- Better formatting, though you can get around using bootstrap
Overall, I'm happy with the plugin
-
Cleosetric
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.
-
Devin Green
Found the plugin useful on 13 Apr, 2017
Awesome plugin
-
rick taylor
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.
-
Nelson S. Otazo
Found the plugin useful on 23 Mar, 2017
Very useful and flexible
-
Tobias Dalhof
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"
-
Christian McQuilkin
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.
-
SA Vikas Sharma
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?
-
yangzie
Found the plugin useful on 17 Jul, 2016
How should I do when the user login redirect the Previous page not the home or '/'?
-
Tim Marner
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?
-
Manuel Sandoval H
Found the plugin useful on 22 Jun, 2016
well... but how to make a login form for validate users
-
Cr2a
Found the plugin useful on 29 May, 2016
this plugin realy good but how i can add a disconect (logout) button ?
-
Valentin
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
-
Billy Z Duke
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.
-
Jean Marc BRUNO
Found the plugin useful on 26 Apr, 2016
Very usefull plugin, It would be useful to integrate the captcha directly in this plugin
-
Konand
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..
-
Jorge andrade
Found the plugin useful on 8 Apr, 2016
very usesul
-
Scott Bedard
Found the plugin useful on 24 Mar, 2016
Good plugin
-
Boris Dehoumon
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.
-
Sildeman Dourado Araújo
Found the plugin useful on 10 Feb, 2016
Great plugin with ACL control.
-
Coffeecup
Found the plugin useful on 1 Dec, 2015
Simple and Fast. Really useful.
-
Andreas Kosmowicz
Found the plugin useful on 3 Nov, 2015
Like the Plugin
-
Forgotten Dream
Found the plugin useful on 15 Oct, 2015
Nice, but not enough extendable :)
-
Derek James Foster
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.
-
Luke Aull
Found the plugin useful on 21 Sep, 2015
Very useful. Was the backbone of just about every site I've made with October
-
xl1034
Found the plugin useful on 29 Jul, 2015
ioCare, thank you for {% framework %}. It was veru helpful.
-
Slavi
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
-
imunisasi
Found the plugin useful on 12 Jul, 2015
good one for basic component (must have)
-
Matiss Janis Aboltins
Found the plugin useful on 9 Jul, 2015
Great plugin! Thanks!
-
Agus Suryanto
Found the plugin useful on 22 Jun, 2015
thats greatt...
-
Jarot Eko Saputra
Found the plugin useful on 3 Jun, 2015
Awesome !!! :)
-
DariNeraka
Found the plugin useful on 28 May, 2015
Very good and helping a lot.
-
Chad Cantrell
Found the plugin useful on 26 May, 2015
Very useful plugin. would use again.
-
Alexander / Aebian
Found the plugin useful on 26 May, 2015
Works as designed, keep up the good work!
-
ioCare
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.
-
Sylvert
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
-
Szabó Gergő
Found the plugin useful on 15 Jan, 2015
Excellent plugin!
-
Tim Savory
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.
-
Tim Savory
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);
-
Patryk Srozak
Found the plugin useful on 17 Dec, 2014
found.
-
Patryk Srozak
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?
-
Matt Baylor
Found the plugin useful on 14 Oct, 2014
Super easy, great documentation
-
Keios
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.
-
Daniel81
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:
- 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