yii2-user 一個好用的用戶擴展


最近使用yii2做了一個系統,涉及到了用戶登錄等等,之前是自己寫的一套,后來要添加郵箱驗證功能。有點懶,然后看到了yii2-user這個擴展。簡單說下,畢竟自己研究也不深。

http://yii2-user.dmeroff.ru/這個是yii2-user的官網。我使用的是基礎模板,因此如果有使用高級模板的可以上官網看看。

首先,通過composer安裝yii2-user

composer require "dektrium/yii2-user:0.9.*@dev"

安裝完后可以在vendor\dektrium中查看到yii2-user

之后修改配置文件web.php 添加

'modules' => [
        'user' => [
          'class' => 'dektrium\user\Module',
          'confirmWithin' => 21600,
          'cost' => 12,
          'admins' => ['admin']
        ],
      ],

同時刪除本來的user配置

此外要注意自己寫的控制器,model,數據庫這些都不能有user

最后執行$ php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations

這樣就可以了。

由於要使用郵件功能,因此我們還要配置好swiftmailer

還是在配置文件web.php  修改本來的mailer配置為

'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@app/mailer',
        'useFileTransport' => false,
        'transport' => [
          'class' => 'Swift_SmtpTransport',
          'host' => 'smtp.163.com',
          'username' => '',//自己的用戶名
          'password' => '',//自己的密碼,有的郵箱是使用授權碼
          'port' => '25',
          'encryption' => 'tls',
          ],

具體的host port不同的郵箱不同,可以登錄對應郵箱查詢。

修改后不要着急,這樣是不可能發送成功的,原因很簡單。使用swiftmailer發送郵件,要保證發件人和你填的username一樣

打開vendor\dektrium\yii2-user 找到Mailer.php

修改sender和username一樣就可以

其余對應的都可以修改,大家自己研究下就好了

這樣就可以發送郵件了

接下來就是使用yii2-user了

下面是對應功能的url,其余使用和yii2自帶的user差不多的

  • /user/registration/register Displays registration form
  • /user/registration/resend Displays resend form
  • /user/registration/confirm Confirms a user (requires id and token query params)
  • /user/security/login Displays login form
  • /user/security/logout Logs the user out (available only via POST method)
  • /user/recovery/request Displays recovery request form
  • /user/recovery/reset Displays password reset form (requires id and token query params)
  • /user/settings/profile Displays profile settings form
  • /user/settings/account Displays account settings form (email, username, password)
  • /user/settings/networks Displays social network accounts settings page
  • /user/profile/show Displays user's profile (requires id query param)
  • /user/admin/index Displays user management interface

例如

       <div class="login-strip">
              <?php 
              if(Yii::$app->user->isGuest)
              {
              ?>
                  <?= Html::a("<i class='icon-plus'></i> 注 冊",['/user/registration/register']); ?> |
                  <?= Html::a("<i class='icon-signin'></i> 登 錄",['/user/security/login']); ?>
              <?php
              }
              else
              {
              ?>
              <?= Html::a("<i class='icon-signout'></i> 退出",['/user/security/logout']); ?>
              <?php
              }
              ?>
            </div>

其余的對應使用下就好了。

這個只是個很粗略的介紹,具體我也只使用了這些很基本的功能,具體還有例如rabc什么的可以查查官網。

總的來說yii2-user還是個好用強大的東西的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM