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还是个好用强大的东西的。
yii2-user 一个好用的用户扩展的更多相关文章
- Selenium用户扩展
Selenium用户扩展 这很容易扩展Selenium IDE加入自定义操作,断言和定位,策略,这是通过添加方法,在JavaScript的帮助下Selenium 对象原型.在启动时,Selenium会 ...
- 【Selenium-WebDriver自学】Selenium-IDE用户扩展(七)
==================================================================================================== ...
- createuser - 定义一个新的 PostgreSQL 用户帐户
SYNOPSIS createuser [ option...] [ username] DESCRIPTION 描述 createuser 创建一个新的 PostgreSQL 用户.只有超级用户(在 ...
- PHP中一个好玩的性别判断扩展
今天我们来学习的一个扩展同时它也是非常小众的一个扩展,其实说白了,或许是根本没什么人用过得扩展.当然,我们也只是出于学习的目的来看看这个扩展到底是什么东西,有什么好玩的地方. 扩展说明 Gender ...
- 创建一个带模版的用户控件 V.3
再重构此篇<创建一个带模版的用户控件 V.2>http://www.cnblogs.com/insus/p/4164149.html 让其它动态实现header,Item和Footer. ...
- 创建一个带模版的用户控件 V.2
前面有做练习<创建一个带模版的用户控件>http://www.cnblogs.com/insus/p/4161544.html .过于简化.通常使用数据控件Repeater会有网页写好He ...
- 解决iPhone上select时常失去焦点,随意跳到下一个输入框,影响用户操作
window.addEventListener('load', function() { FastClick.attach(document.body); }, false); //300s延迟,解决 ...
- Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试
Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试 需要FQ才能安装,使用时应该不用FQ了,除非使用postman的历史记录功能: 非常棒的C ...
- jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)
JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...
随机推荐
- JS函数 函数的作用,可以写一次代码,然后反复地重用这个代码。
什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum; sum = 3+2; alert(sum); sum=7+8 ; alert(sum ...
- Python基础知识之5——函数基础
函数 函数是一个独立且封闭完成特定功能的代码块,可以在任何地方被调用.Python内置了很多函数,我们可以直接调用,使用的时候,先查询下Python的官方文档即可: http://docs.pytho ...
- UEditor 编辑模板
读取模板,放到ueditor中进行编辑 @model WeiXin_Shop.Models.WX_GoodsDetails @Html.Partial("_MasterPage") ...
- PHP算法之转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello"输出: &q ...
- 微信公众号开发API接口大全
在本文中,我们列出微信公众平台上可以使用的API接口以及举例如何在微信公众平台调用这些接口实现相应的功能. 接口调用说明: ① Appkey请使用的微信公众号,不要使用默认的trailuser ② 接 ...
- thinkphp 获取内容
如果需要获取渲染模板的输出内容而不是直接输出,可以使用fetch方法. fetch方法的用法和display基本一致(只是不需要指定输出编码和输出类型): 大理石平台规格 fetch('模板文件') ...
- MySQL 知识点随记
1.存储过程中声明变量要在程序的最前面,也要在声明事务开始的前,不然会报错 2.Mysql 获取32位guid: REPLACE(UUID(),"-","") ...
- LUOGU P1039 侦探推理 (字符串+模拟)
传送门 解题思路 一道%你神题,\(string\)好强大啊..首先枚举一个周几,再枚举一个罪犯是谁,然后判断的时候就是枚举所有人说的话.定义\(fAKe[i]\)表示第\(i\)个人说的是真话还是假 ...
- LUOGU P4042 [AHOI2014/JSOI2014]骑士游戏 (spfa+dp)
传送门 解题思路 首先设\(f[x]\)表示消灭\(x\)的最小花费,那么转移方程就是 \(f[x]=min(f[x],\sum f[son[x]] +s[x])\),如果这个转移是一个有向无环图,那 ...
- Android按钮绑定四种方式
public class MainActivity extends Activity implements OnClickListener{ @Override protected void onCr ...