Laravel 5 覆盖登录功能

2023-12-08

我正在开发 Laravel 项目并尝试覆盖 AuthenticatesAndRegistersUsers 中的默认 postLogin() 。所以我更新了我的 AuthController 并添加了它来覆盖内置登录,

public function postLogin(Request $request)
{

    $this->validate($request, [
        'email' => 'required|email', 'password' => 'required',
    ]);

    $credentials = $request->only('email', 'password');



    if ($this->auth->attempt($credentials, $request->has('remember')))
    {
        /* Check if the user is Activated */
        $userID = \Auth::user()->id;
        $user = new \App\User;
        $result = $user->isUserActivated($userID);

        if($result[0]->status == 1)
        {
            return redirect()->intended($this->redirectPath());
        }
        else if($result[0]->status == 0)
        {
            Session::flash('alert-danger', 'Your account is not yet Activated.');
            return Redirect::to('auth/login');
        }

    }

    return redirect($this->loginPath())
                ->withInput($request->only('email', 'remember'))
                ->withErrors([
                    'email' => $this->getFailedLoginMessage(),
                ]);
}

正如你所看到的,我有 $result[0]->status 告诉用户是否已激活,如果没有,我会将它们重定向回身份验证/登录。我尝试 var_dump($result[0]->status);它工作正常,也意味着我覆盖它,因为它正在显示它,但我的问题是,它不是将其重定向到身份验证/登录,它仍然通过主页并且可以登录,即使状态为 0。看来我是我的override 不起作用,但是当我 var_dump $result[0]->status 时,它会显示。我错过了什么吗?


我会添加以下第一件事postLogin()功能。

       $this->validate($request, [
            'email' => 'required|email', 'password' => 'required',
        ]);

        if ($this->auth->validate(['email' => $request->email, 'password' => $request->password, 'status' => 0])) {
            return redirect($this->loginPath())
                ->withInput($request->only('email', 'remember'))
                ->withErrors('Your account is Inactive or not verified');
        }

status 是用户表中的一个标志。 0 = 不活动,1 = 活动。所以整个函数如下所示..

public function postLogin(Request $request)
    {
        $this->validate($request, [
            'email' => 'required|email', 'password' => 'required',
        ]);
        if ($this->auth->validate(['email' => $request->email, 'password' => $request->password, 'status' => 0])) {
            return redirect($this->loginPath())
                ->withInput($request->only('email', 'remember'))
                ->withErrors('Your account is Inactive or not verified');
        }
        $credentials  = array('email' => $request->email, 'password' => $request->password);
        if ($this->auth->attempt($credentials, $request->has('remember'))){
                return redirect()->intended($this->redirectPath());
        }
        return redirect($this->loginPath())
            ->withInput($request->only('email', 'remember'))
            ->withErrors([
                'email' => 'Incorrect email address or password',
            ]);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5 覆盖登录功能 的相关文章

  • php 中 php.ini 的 log_errors 和 error_log

    我正在尝试通过 php ini 更改 php ini 中的设置 我的问题是 当出现错误时 它不会放入文件 error log txt 中 那么我做错了什么 这是我的代码 Settings for php ini ini set sessio
  • Laravel 注册成功后如何重定向到上一页?

    现在redirectTo被设定为 home 我想知道如何重定向到上一页 我尝试使用 protected redirectTo URL previous 但我得到解析错误 期待 or 解决这个问题的最佳解决方案是什么 我想我需要重写 redi
  • PHP 自定义会话处理程序问题 (PHP 7.1)

    我刚刚在计算机上从 PHP 7 0 迁移到 PHP 7 1 当前版本的 WAMP 的全新 全新安装 它似乎破坏了自定义会话处理程序中的某些内容 该处理程序应该将会话保存到数据库而不是使用文件系统 自定义处理程序类是 class db ses
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • 如果端口不是 80,.htaccess 重定向到错误页面

    我正在运行一个便携式服务器 http www server2go web de 通过 USB 棒 问题是我还在我的本地计算机上安装了 WAMP 并且 Apache 不知何故在 Windows 启动时启动 因为一些我现在不记得的随机原因并且无
  • 使用 C# 以编程方式登录网站

    因此 我一直在网上搜索 试图了解有关如何使用 C 以编程方式登录网站的更多信息 我不想使用网络客户端 我想我想使用 HttpWebRequest 和 HttpWebResponse 之类的东西 但我不知道这些类是如何工作的 我想我正在寻找某
  • 如何接收发送到 twilio 号码的短信

    我在 twilio 创建了一个免费帐户 用于通过我的网站发送短信 注册后 我得到了一个 twilio 号码 例如 XXX XXX XXXX 我可以向手机号码发送消息 但我不知道如何使用这个 twilio 号码接收短信 请帮我解决这个问题 T
  • 传递给 Illuminate\Routing\Middleware\ThrottleRequests::addHeaders() 的参数 1 必须是以下实例

    我创建了一个新的中间件来检查用户令牌我创建了中间件然后添加到 kernal php 但是当我尝试访问中间件中的 request 时我收到错误 这是我的中间件代码 namespace App Http Middleware use Illum
  • php/symfony/doctrine 内存泄漏?

    我在使用 symfony 1 4 和原则 1 2 将对象批量插入数据库时 遇到问题 我的模型有一种称为 Sector 的对象 每个对象都有多个 Cupo 类型的对象 通常范围从 50 到 200000 这些物体非常小 只是一个短标识符字符串
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • Google Closure 编译器和 multipart/form-data 不起作用

    我正在向 google 闭包编译器 API 服务发出请求 content file get contents file js url http closure compiler appspot com compile post true p
  • 将 jQuery 与 Selenium WebDriver 结合使用 - 如何将 JSON 对象转换为 WebElement?

    我正在使用 Selenium WebDriver 我想执行 jQuery 代码来查找一些元素 我的代码如下 public function uploadGrantDoc script return itemlist grant file u
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • 如何将路径添加到 Apache PATH 变量?

    我在 apache2 的 custom conf 文件中设置了以下内容 SetEnv PATH PATH opt local lib mysql5 bin this is a test 但是它不起作用 当我打电话时 hey shell ex
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • Laravel 5.1 Snappy pdf 图像未在 pdf 文件中呈现

    我在用barryvdh laravel snappy生成pdf文件 我有两个图像文件 1 yourlogohere png 位于 public image 文件夹中 2 logo2 png 位于 public app logo 以外的文件夹
  • PHP 中正确的存储库模式设计?

    前言 我尝试在具有关系数据库的 MVC 架构中使用存储库模式 我最近开始学习 PHP 中的 TDD 并且我意识到我的数据库与应用程序的其余部分耦合得太紧密 我读过有关存储库并使用国际奥委会容器 http laravel com docs 4
  • 如何让php页面从html页面接收ajax post

    我有一个非常简单的表单 其中有一个名字输入字段 我捕获了表单数据 并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面 但是 我根本无法从 PHP 页面获得任何在服务器端捕获数据的响应 我不确定我做错了什么或缺少什么
  • Yii2 无效调用:设置只读属性

    我有一个Post具有多对多关系的模型Tags 在 Post 模型中定义 public function getTags return this gt hasMany Tags className id gt tag id gt viaTab

随机推荐

  • IValueConverter 的异步实现

    我有一个异步方法 我想在一个内部触发IValueConverter 有没有比通过调用强制同步更好的方法Result财产 public async Task Convert object value Type targetType objec
  • Python 2.6 与 2.7 中的浮点行为

    所以我打开了 Python 2 6 解释器 得到了这个 Python 2 6 6 r266 84292 Nov 22 2013 12 16 22 GCC 4 4 7 20120313 Red Hat 4 4 7 4 on linux2 Ty
  • Angular 的 Promise 是异步的吗?

    我可能错过了有关 Angular 承诺的一些内容 但我想知道一些事情 承诺是异步的吗 我不确定 异步 这个词是否正确 但让我解释一下 在我的代码中 我使用 Promise 执行一个非常大的过程 读取和写入数百个大文件 同时显示加载栏以观察该
  • Java:将两个json对象与主键合并在一起

    假设内存中有两个 JSONObject 数组 每个对象都有一个在两个数组中相似的键 Array 1 name Big Melons Co location Inner City Dubai id 1A name Pear Flavored
  • Jenkins - 如何构建特定分支

    这并不像仅仅进行参数化构建那么简单 我已经有了一个特定的构建过程 每当这些分支被推送到 GitHub 时就会构建和部署 所以如果我刚刚推动develop它构建成功 我如何触发手动构建并将其拉出feature my new feature 不
  • 检查字符串中是否有坏词? [复制]

    这个问题在这里已经有答案了 可能的重复 测试字符串中某些单词的有效方法 我想检查一个字符串是否包含以下任何单词 禁令 不良 用户 通行证 堆栈 名称 html 如果它包含任何单词 我需要回显坏单词的数量 str Hello my name
  • 阻止 Tumblr 将 JS 和 CSS 文件添加到主题中

    Tumblr 的博客中充斥着大量的 JS 和 CSS 文件 我不知道这些文件是否是必需的或只是有用 这是其中的列表 JS tumblelog js 和 pre tumblelog js gt 看起来这是 Tumblr JS API 但我们需
  • 如何停止 Swing 中重复的 keyPressed() / keyReleased() 事件

    所以我遇到的问题似乎是仅在 Linux 上发生的错误 我试图让我的摇摆应用程序记录按下某个键的时间 然后检测该键何时被释放 现在这不应该成为问题 因为按键监听器应该为我处理这个问题 问题是 当我按住按键时 我会收到大量重复的 keyPres
  • 如何在元组中单独添加元素?

    如何在元组中单独添加元素 例如 我需要 2 4 from 0 1 2 3 我一直这样做 但是有没有更Pythonic 更简洁的方法来做同样的事情 gt gt gt x 0 1 gt gt gt y 2 3 gt gt gt x y 0 1
  • SQLite:sqlite3.dll 与 System.Data.SQLite.dll?

    我需要使用什么SQLite 与 NHibernate and FluentNHibernate 有 系统 Data SQLite dll and 系统 Data SQLite Linq dll ADO NET 2 0 提供程序 可从http
  • Angular2 使用标签更新 ng2-charts

    这些天我开始工作Angular2 并对框架有疑问ng2 图表 这是我的组件 ts code import Component from angular core import ChartsModule from ng2 charts imp
  • std::numeric_limits 作为条件

    有什么方法我可以使用std numeric limits
  • 通过 extravars 将主机名传递给 ansible playbook

    我必须通过额外的变量传递将在其上执行 Ansible 命令的主机 我事先不知道任务将应用到哪些主机 因此 我的清单文件当前缺少hosts 多变的 如果我从文章中理解 如何将额外变量传递给 Ansible playbook 正确地说 只有已经
  • 共享元素过渡 + Fragment + RecyclerView + ViewPager

    我正在实现一个图库应用程序 它有一个片段 其中包含带有图像的 RecyclerView 单击图像时我会转到 ViewPager 循环浏览图像 现在 我正在尝试仅实现入口动画 如this视频 问题是动画不起作用 我显然错过了一些东西 只是显示
  • 异常如何转移并找到处理程序?

    当引发异常时 将启动堆栈展开 直到遇到处理代码 但我对整个过程的机制有点不清楚 1 异常存储在哪里 我并不是指实际的异常对象 它可能很大 例如有一个消息字符串或其他东西 但如果您愿意的话 也可以是实际的引用或指针 它必须是某个统一的存储位置
  • Xcode 4 数据模型版本控制错误?

    安装了 Xcode 4 一切似乎都很好 除了 当我尝试向核心数据模型添加版本控制时 在说明中 它说我应该在导航器中选择数据模型 然后 选择编辑器 gt 转换为版本化模型 好吧 编辑器 菜单没有 转换为版本化模型 项目 跳过这一步会使 Xco
  • APPX Windows 应用商店包可以包含多个“应用程序”吗?

    我试图更好地理解 APPX 包的 appxmanifest 文件 我注意到它有一个
  • 在“沙盒环境”中从 .Net 应用程序加载程序集

    I am 目前正在开发一个应用程序用户将动态选择 dll 应用程序将执行该 dll 中的一些方法 如果您点击第一个链接 您会看到我正在开发一种Robocode使用 Net Framework的游戏应用程序 例如 当战斗开始时 run执行 d
  • JScrollPane 和 JViewport 最大尺寸小于内容的滚动限制

    我有一个JFrame含有一个JScrollPane含有一个JPanel The JPanel包含一堆JTextAreas 我正在向其中加载大量文本 大约 8k 10k 个字符 布局工作正常 尽管滚动有点滞后 真正的问题似乎是JPanel J
  • Laravel 5 覆盖登录功能

    我正在开发 Laravel 项目并尝试覆盖 AuthenticatesAndRegistersUsers 中的默认 postLogin 所以我更新了我的 AuthController 并添加了它来覆盖内置登录 public function