亲测好用!用 Laravel Package 切换用户登录

file
对于具有高级 ACL (访问控制表 Access Control List)功能的网站,开发人员通常会自己手动登录为不同的用户,或者在他人和自己的帐户之间来回切换。这对开发调试来说简直就是一个超级浪费时间的过程。(想想就觉得心累)

数字机构 VIA Creative 开发了一个包来解决这个问题:Sudo Su

Sudo Su 在每个页面的角落加上了一个小按钮,点击时会显示一个用户列表。

从该列表中选择用户将自动以该用户身份登录,同时在会话中保留原始用户ID。此功能可以通过点击按钮快速切换回原始帐户。

登录后,按钮将变为绿色,表示已激活。再次点击,就可以立即恢复到原始的用户帐户。

file

安装

  1. 先用 Composer 安装

    composer require viacreative/sudo-su
  2. 然后注册服务提供商

    class AppServiceProvider extends ServiceProvider
    {
       public function register()
       {
           if (env('APP_DEBUG')) {
               $this->app->register('VIACreative\SudoSu\ServiceProvider');
           }
       }
    }

    提醒:如果你不想被老板开除,就不要在 config/app.php 文件中注册。

  3. 接着发布包的配置文件

    php artisan vendor:publish
  4. 接下来在你的布局模板中加入下面这段代码

    @if (config('app.debug'))
        @include('sudosu::user-selector')
    @endif

    好了这下子可以开始玩了~

提醒一下!

如果使用不当,可能会造成严重的安全问题,因为任何人都可以控制任何用户的帐户。请确保服务提供器仅在应用程序处于调试或者本地环境中时注册。

另外!默认情况下,这个包会在域名后缀不是 .dev.local 的任何域上被禁用。这是一种安全措施,可以减少因为意外启用包的风险。如果开发中有不同的 TLD(顶级域名 Top Level Domain) ,可以在 sudosu.allowed_tlds 上编辑 配置选项

骏妞儿提醒:在玩这个包的时候不小心踩坑了,事关这个包要求 PHP 的版本必须 ">=7.0" !Hoho~ 感谢安哥哥提点 @overtrue

更多关于这个包的信息,你可以在推特上 @viacreative 或者访问 他们的网站

参考链接:https://laravel-news.com/sudo-su
更多扩展介绍可以上 资讯站 查看哟

本作品采用《CC 协议》,转载必须注明作者和本文链接
Stay Hungry, Stay Foolish.
本帖由 Summer 于 6年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 11

很好玩的一个东西,平时要调试不同用户身份,都是打开chrome 的其他人身份来操作的。各有利弊吧。。

7年前 评论
DukeAnn

平时两个浏览器切换

7年前 评论

实际应用中session内不单纯的存储的是登陆信息,还有其他信息。

7年前 评论

@安正超 安哥哥 6666666

7年前 评论

自己参考laravel-5-boilerplate写了个login as的功能,只针对admin开放,生产环境也可以用,感觉更符合需求

7年前 评论

用两个浏览器的路过

7年前 评论

@linhaijian 那你也是需要两个窗口来回切换 :joy:

7年前 评论
ThinkQ

sudo su 可以关闭吗?上传到线上了。

6年前 评论
sayhe110 2年前
ThinkQ

sudo su 可以关闭吗?

6年前 评论

还可以用端口访问吗 例如 www.xxx.com:8080

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!