亲测好用!用 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 于 7年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11

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

8年前 评论
DukeAnn

平时两个浏览器切换

8年前 评论

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

8年前 评论

@安正超 安哥哥 6666666

8年前 评论

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

8年前 评论

用两个浏览器的路过

8年前 评论

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

7年前 评论
ThinkQ

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

7年前 评论
sayhe110 3年前
ThinkQ

sudo su 可以关闭吗?

7年前 评论

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

6年前 评论