最近使用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还是个好用强大的东西的。

yii2-user 一个好用的用户扩展的更多相关文章

  1. Selenium用户扩展

    Selenium用户扩展 这很容易扩展Selenium IDE加入自定义操作,断言和定位,策略,这是通过添加方法,在JavaScript的帮助下Selenium 对象原型.在启动时,Selenium会 ...

  2. 【Selenium-WebDriver自学】Selenium-IDE用户扩展(七)

    ==================================================================================================== ...

  3. createuser - 定义一个新的 PostgreSQL 用户帐户

    SYNOPSIS createuser [ option...] [ username] DESCRIPTION 描述 createuser 创建一个新的 PostgreSQL 用户.只有超级用户(在 ...

  4. PHP中一个好玩的性别判断扩展

    今天我们来学习的一个扩展同时它也是非常小众的一个扩展,其实说白了,或许是根本没什么人用过得扩展.当然,我们也只是出于学习的目的来看看这个扩展到底是什么东西,有什么好玩的地方. 扩展说明 Gender ...

  5. 创建一个带模版的用户控件 V.3

    再重构此篇<创建一个带模版的用户控件  V.2>http://www.cnblogs.com/insus/p/4164149.html 让其它动态实现header,Item和Footer. ...

  6. 创建一个带模版的用户控件 V.2

    前面有做练习<创建一个带模版的用户控件>http://www.cnblogs.com/insus/p/4161544.html .过于简化.通常使用数据控件Repeater会有网页写好He ...

  7. 解决iPhone上select时常失去焦点,随意跳到下一个输入框,影响用户操作

    window.addEventListener('load', function() { FastClick.attach(document.body); }, false); //300s延迟,解决 ...

  8. Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试

    Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试   需要FQ才能安装,使用时应该不用FQ了,除非使用postman的历史记录功能:   非常棒的C ...

  9. jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)

    JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...

随机推荐

  1. JS事件 光标聚焦事件(onfocus)当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行

    光标聚焦事件(onfocus) 当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行. 如下代码, 当将光标移到文本框内时,即焦点在文本框内,触发onfocus 事件,并调用函数messa ...

  2. CSIC_716_20191029【人脸打分系统】

    今日内容: 1.调用百度的AI接口,完成人脸图像打分( 敷衍) 2.完成系统内置时间的打印 3.将上述两段代码生成可执行文件 ------------------------------------- ...

  3. MFC基础类及其层次结构

    从类CCmdTarget派生出绝大多数MFC中的类,其层次结构如下图: 从根类Cobject层层派生出绝大多数MFC中的类,层次结构如下图: MFC中重点类: CObject类是MFC的绝大部分类的基 ...

  4. python相关软件安装流程图解——linux 安装python3——Python-3.7.1

    请先确保已经安装了虚拟机 python相关软件安装流程图解——虚拟机安装——CentOS-7-x86_64-DVD-1810——CentOS-01下载 https://www.cnblogs.com/ ...

  5. Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接

    Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接 字符串是Python中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符 ...

  6. PAT甲级——A1116 Come on! Let's C

    "Let's C" is a popular and fun programming contest hosted by the College of Computer Scien ...

  7. <每日一题>题目14:拷贝的问题

    ''' 拷贝的问题 引用:无论怎么变都一起变 浅拷贝:只拷贝父对象,不会拷贝父对象中的子对象 深拷贝:完全拷贝,重新划分内存空间 ''' 具体如下图: 题目: #求a.b.c.d的值 import c ...

  8. scrpy--分布式爬虫

    原来的scrapy中的Scheduler维护的是当前机器中的任务队列(存放着Request对象以及回调函数等信息) + 当前的去重队列(存放访问过的url地址) 实现分布式的关键就是需要找一台专门的主 ...

  9. Linux 下 Nand Flash 驱动说明

    注册 driver_register 通过 module_init(s3c2410_nand_init);注册 Nand Flash 驱动. 在 s3c2410_nand_init ()中通过 dri ...

  10. h5对接jssdk支付分并调用开启支付分页面

    1.ws.config签名   调用ticket等获取ws.config的签名,下面会调用方法再调用方法时需要再次按照调用方法的签名 wx.config({ debug: true, // 开启调试模 ...