cerbero/auth

Laravel模块,用于将认证系统集成到您的应用程序中。

1.6.4 2015-12-28 13:20 UTC

This package is auto-updated.

Last update: 2024-09-04 21:45:47 UTC


README

认证

Author Build Status Latest Version Software License Code Climate Quality Score Gratipay

SensioLabsInsight

Auth是一个Laravel包,用于快速将认证系统集成到您的应用程序中,避免每次开始新项目时都重新发明轮子,并允许您自定义过程的每个方面。

此包旨在成为Laravel默认提供的认证系统的更多可定制替代方案,并包含一些安全功能,如诱饵和登录限流。

功能

此包包含的功能列表

  • 登录
  • 注册
  • 密码重置
  • 注销
  • 完全自定义
  • CSRF保护
  • 诱饵陷阱
  • 登录限流
  • 事件分发

安装

在您的应用程序根目录中运行此命令

composer require cerbero/auth

将服务提供者添加到config/app.php中的providers列表

Cerbero\Auth\AuthServiceProvider::class,

app/Http/Kernel.php中添加以下路由中间件

'honeypot' => \Cerbero\Auth\Http\Middleware\Honeypot::class,

然后在您的终端中运行这两个命令

php artisan vendor:publish --provider="Cerbero\Auth\AuthServiceProvider”
php artisan migrate

现在您已迁移了数据库并创建了users表,可以通过编辑文件config/_auth.php来自定义认证系统的行为,也可以在resources/lang/packages中修改/翻译消息。

最后,为了向用户显示自定义消息,将DisplaysExceptions特质添加到您的异常处理程序

use Cerbero\Auth\Exceptions\DisplaysExceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;

class Handler extends ExceptionHandler {

	use DisplaysExceptions;

	public function render($request, Exception $e)
	{
		if($printable = $this->displayExceptions($e)) return $printable;

		return parent::render($request, $e);
	}

}

现在您可以在视图中显示自定义消息

@if ($error = session('error'))
	<div class="alert alert-danger">{{ $error }}</div>
@elseif ($success = session('success'))
	<div class="alert alert-success">{{ $success }}</div>
@endif

事件

所有认证过程都由事件先导和后继,以提供扩展包功能的一个简单方法。以下列表显示所有可用的事件

  • auth.login.start
  • auth.login.end
  • auth.logout.start
  • auth.logout.end
  • auth.register.start
  • auth.register.end
  • auth.recover.start
  • auth.recover.end
  • auth.reset.start
  • auth.reset.end