zoukankan      html  css  js  c++  java
  • yii2-user 一个好用的用户扩展

    最近使用yii2做了一个系统,涉及到了用户登录等等,之前是自己写的一套,后来要添加邮箱验证功能。有点懒,然后看到了yii2-user这个扩展。简单说下,毕竟自己研究也不深。

    http://yii2-user.dmeroff.ru/这个是yii2-user的官网。我使用的是基础模板,因此如果有使用高级模板的可以上官网看看。

    首先,通过composer安装yii2-user

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

    安装完后可以在vendordektrium中查看到yii2-user

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

    'modules' => [
            'user' => [
              'class' => 'dektriumuserModule',
              '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' => 'yiiswiftmailerMailer',
            'viewPath' => '@app/mailer',
            'useFileTransport' => false,
            'transport' => [
              'class' => 'Swift_SmtpTransport',
              'host' => 'smtp.163.com',
              'username' => '',//自己的用户名
              'password' => '',//自己的密码,有的邮箱是使用授权码
              'port' => '25',
              'encryption' => 'tls',
              ],

    具体的host port不同的邮箱不同,可以登录对应邮箱查询。

    修改后不要着急,这样是不可能发送成功的,原因很简单。使用swiftmailer发送邮件,要保证发件人和你填的username一样

    打开vendordektriumyii2-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还是个好用强大的东西的。

  • 相关阅读:
    数据库知识扩展
    数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳
    数据库遇到的问题——事务操作时中断导致锁表
    java中常见的内存泄露的例子
    数据库设计中常见表结构分析
    索引失效的7种情况
    DWZ 自定义异常及后台校验2-a链接弹出框
    DWZ 自定义异常及后台校验
    Excl中的数据转换成SQL脚本(含日期写法)
    SpringAop (二)
  • 原文地址:https://www.cnblogs.com/icysnow/p/5512523.html
Copyright © 2011-2022 走看看