kerchuma222 / session-auth
Requires
- php: >=5.4.0
- illuminate/auth: ~5.1
- illuminate/config: ~5.1
- illuminate/session: ~5.1
- illuminate/support: ~5.1
Requires (Dev)
- mockery/mockery: dev-master
This package is not auto-updated.
Last update: 2024-07-20 16:14:44 UTC
README
Laravel 5 Session Authentication driver.
实现功能
- 从其他应用程序检索的用户信息在会话级别持久化
安装
要将此驱动程序安装到您的应用程序中,请在您的 composer.json
文件中添加以下内容
{ ... "require": { "laravel/framework": "5.*", ... "KerchumA222/session-auth": "3.*", }, ... "repositories": [{ "type": "vcs", "url": "https://github.com/KerchumA222/session-auth" }], ... }
然后运行 composer update
。注意:您可能需要使用 --prefer-source
标志运行 composer 以从 GitHub 安装此软件包。您还需要在您的计算机上安装 git。这是临时的,当此软件包托管在 packagist 上时将得到解决。
一旦您从 GitHub 下载完此包,您需要告诉您的应用程序使用 session-auth 服务提供程序。
打开 app/config/app.php
并找到
Illuminate\Auth\AuthServiceProvider::class
并将其替换为
KerchumA222\SessionAuth\SessionAuthServiceProvider::class
这告诉 Laravel 5 使用来自 vendor 文件夹的服务提供程序。
您还需要将 Auth 指向使用会话驱动程序而不是 Eloquent 或数据库,编辑 config/auth.php
并将驱动程序更改为 session
配置
在客户端应用程序中不需要配置。认证应用程序需要在共享的 Session
中将用户详细信息存储在 'currentUser' 键下。所需的 currentUser 详细信息包括 'id'、'username'(或您的任何主要标识符)和 'remember_token'(用于在子应用程序中记住用户,无需返回到认证应用程序)。
示例
在您的认证应用程序(不应包含此插件)中 Session::put('currentUser', ['id'=>1, 'username'=>'KerchumA222', 'remember_token'=>'xxxxxxx', 'groups'=>['Admin', 'User']]);
这可以在 Authentication.php
中间件中方便地完成。
用法
Auth 的使用与默认服务提供程序相同。Auth::user() 返回一个包含所有由父应用程序存储在 Session
中的详细信息的 GenericUser
实例。
模型使用
您不需要使用模型来实现此方案。