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

最新文章

  1. 编写高性能Javascript代码的若干建议
  2. 【BZOJ】2277: [Poi2011]Strongbox
  3. compiler
  4. 第二章 自己的框架WMTS服务,下载数据集成的文章1
  5. VUE实现请求数据
  6. hiveql笔记(一)
  7. Excel技巧--巧用分列功能整理日期格式
  8. js获取浏览器内核判断终端(是QQ打开还是QQ浏览器打开)
  9. 微商城项目 请求接口封装中出现 callback &amp;&amp; callback() 原理
  10. C/C++中int128的那点事
  11. 基于fiddler实现本地代理完成脚本测试
  12. Android Studio 关联 JDK Java 源码
  13. ASP.NET Web API中展示实体Link相关的方面
  14. Windows 同一时候开启核心显卡与独立显卡(不接显示器启动核芯显卡)
  15. numpy ndarray可用的常规函数
  16. Hive 数据类型转换
  17. spring中的@component
  18. redhat 6安装详解
  19. D.E.Shaw——高频统计套利交易获利41亿美元
  20. Hadoop案例(七)MapReduce中多表合并

热门文章

  1. 5、Docker数据管理
  2. ES5给object扩展的一些静态方法
  3. Windows DHCP服务器
  4. xml 单例类
  5. DELPHI指针的使用
  6. Amazon AWS EC2存储
  7. UMP系统功能 数据安全
  8. 一个tcp连接可以发多少http请求
  9. No converter found for return value of type: class com.alibaba.fastjson.JSON解决办法
  10. ie中报错---不能执行已释放 Script 的代码