elzix/yii2-auth

Yii 2 User Authentication & Role Based Access Control (RBAC) Module

Maintainers

Details

github.com/elzix/yii2-auth

Source

Installs: 8

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 37

Type:yii2-extension

dev-master 2024-04-28 15:40 UTC

This package is auto-updated.

Last update: 2024-04-28 15:40:27 UTC


README

Auth Module is a flexible user registration, authentication & RBAC module for Yii2. It provides user authentication, registration and RBAC support to your Yii2 site.

Tribute

This project is forked from robregonm/yii2-auth. The basic functionality is the same, but some modifications have been made to make it compatible with Yii2 v2.0.49.3.

Installation

The preferred way to install this extension is through composer.

Either run

$ php composer.phar require elzix/yii2-auth:dev-master

or add

"elzix/yii2-auth": "dev-master"

to the require section of your composer.json file.

Usage

Once the extension is installed, modify your application configuration to include:

return [
  'modules' => [
    ...
    'auth' => [
      'class' => 'auth\Module',
      // Custom layouts
      // Alternative: @common/views/layouts/main
      'layout' => '//homepage', // Layout when not logged in yet
      'layoutLogged' => '//main', // Layout for logged in users
      // Custom views (optional)
      // 'loginTemplate' => '',
      // 'signupTemplate' => '',
      // 'requestTemplate' => '',
      // 'resetTemplate' => '',
      // 'profileTemplate' => '',
      // 'profileUpdateTemplate' => '',
      // 'userTemplate' => '',
      // 'userViewTemplate' => '',
      // 'userCreateTemplate' => '',
      // 'userUpdateTemplate' => '',
      'attemptsBeforeCaptcha' => 3, // Optional
      'supportEmail' => 'support@mydomain.com', // Email for notifications
      'passwordResetTokenExpire' => 3600, // Seconds for token expiration
      'superAdmins' => ['admin'], // SuperAdmin users
      'signupWithEmailOnly' => false, // false = signup with username + email, true = only email signup
      'tableMap' => [ // Optional, but if defined, all must be declared
        'User' => 'user',
        'UserStatus' => 'user_status',
        'ProfileFieldValue' => 'profile_field_value',
        'ProfileField' => 'profile_field',
        'ProfileFieldType' => 'profile_field_type',
      ],
      /**
       * Custom redirects (optional)
       *
       * true = Go Home
       * false = Go Back
       * string = Redirect to link
       */
      // 'loginRedirect' => '', // After login
      // 'passwordRedirect' => '', // After password reset or request
      // 'signupRedirect' => '', // After signup
    ],
    ...
  ],
  ...
  'components' => [
    ...
    'authManager' => [
      'class' => '\yii\rbac\DbManager',
      'ruleTable' => 'AuthRule', // Optional
      'itemTable' => 'AuthItem',  // Optional
      'itemChildTable' => 'AuthItemChild',  // Optional
      'assignmentTable' => 'AuthAssignment',  // Optional
    ],
    'user' => [
      'class' => 'auth\components\User',
      'identityClass' => 'auth\models\User', // or replace to your custom identityClass
      'enableAutoLogin' => true,
    ],
    ...
  ]
];

And run migrations:

$ php yii migrate/up --migrationPath=@auth/migrations

License

Auth module is released under the BSD-3 License. See the bundled LICENSE.md for details.

#INSTALLATION

./yii migrate/up --migrationPath=@auth/migrations

URLs

  • Login: yourhost/auth/default/login
  • Logout: yourhost/auth/default/logout
  • Sign-up: yourhost/auth/default/signup
  • Reset Password: yourhost/auth/default/reset-password
  • User management: yourhost/auth/user/index
  • User profile: yourhost/auth/profile/view

Flattr this git repo