首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

推荐17-Laravel 中使用 JWT 认证的 Restful API

教程中接下来的步骤只在 5.5 和 5.6 中测试过。可能不适用于 Laravel 5.4 或以下版本。您可以阅读 针对旧版本 Laravel 的文档 。...否则,成功的响应则将伴随用户数据一起返回。 在 login 方法中,我们得到了请求的子集,其中只包含电子邮件和密码。...如果从 attempt 方法中返回 false ,则返回一个失败响应。否则,将返回一个成功的响应。 在 logout 方法中,验证请求是否包含令牌验证。...最后,我们返回这个数组。Laravel 将自动将其转换为 JSON ,并创建一个为 200 成功的响应码。 继续实现 show 方法。...如果产品不存在,则返回 400 故障响应。否则,将返回产品数组。

11K20

Laravel 5.0 之 表单验证类 (Form Requests)

我们可以在控制器中进行验证, 可以在单独的一个服务层进行验证, 可以在模型中进行验证, 当然还可以在 Javascript 中进行验证 (这只是一个玩笑, 谁都知道不能只依赖于客户端的验证)....每个 Form Request 类至少包含一个 rules() 方法, 这个方法返回一组验证规则....HTTP 响应. // (框架默认的行为是带着错误信息返回到起始页面) // 可以返回 Response 实例, 视图, 重定向或其它信息 return...所以你可以创建一个包含所有规则的 FriendFormRequest 作为基类, 然后把它扩展为 addFriendFormRequest 和 editFriendFormRequest 两个子类, 每个子类都可以实现各自的默认行为...Auth::check() ) { return false; } $thingBeingEdited = Thing::find

3.9K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过 Laravel 创建一个 Vue 单页面应用(六)

    '; }) .then(() => this.saving = false) } } 目前,我们的表单只是将返回值输出到控制台,抓取错误,然后切换...添加 API 接口 我们准备在 Laravel 中添加 API 接口以创建新用户。这将类似于编辑现有用户。但是,此响应将返回 201 Created 状态代码。...但为了让那些从来没有使用过 Vue Router ,也没有做过单页应用的人更好上手,我决定只关注核心部分。...对一些人来说,这个教程可能是微不足道的,但对新手来说,它则着重阐述了单页应用和传统的构建服务端应用的主要不同之处。...原文地址:https://laravel-news.com/building-a-vue-spa-with-laravel-part-6 译文地址:https://learnku.com/laravel

    3.8K20

    Laravel源码解析之Cookie

    , $httpOnly = true, $raw = false, $sameSite = null) { $cookie = app(CookieFactory::class); if...$value, $minutes, $path, $domain, $secure, $httpOnly, $raw, $sameSite); } 通过 cookie函数的@return标注我们能知道它返回的是一个...既 cookie函数在参数 name为空时返回一个 CookieJar对象,否则调用 CookieJar的 make方法返回一个 \Symfony\Component\HttpFoundation\Cookie...返回响应时发生的,在 Laravel的 public/index.php里: $response->send(); Laravel的 Response继承自Symfony的 Response, send...Laravel中Cookie模块大致的实现原理就梳理完了,希望大家看了我的源码分析后能够清楚Laravel Cookie实现的基本流程这样在遇到困惑或者无法通过文档找到解决方案时可以通过阅读源码看看它的实现机制再相应的设计解决方案

    2.4K50

    【译】深入研究 Laravel 的依赖注入容器

    注意: 如果你读了官方文档,它使用 $this->app代替 $container (在Laravel应用程序中,它实际上是Container的一个子类,称为Application这就是为什么称为助手...app(),但是这篇文章,我只会描述Container方法) 在Laravel外使用 Illuminate\Container 要在Laravel外使用Container,请安装它 然后: use Illuminate...例如,Laravel使用它来确保无论什么时候将单实例Container实例注入到类中都会返回它: $container->instance(Container::class, $container);...5.3 以及以下版本中,它很简单 make($class,$parameters), 但在 Laravel 5.4中被删除, 但在5.4.16 被重新添加为 makeWith() 。...bindIf() bindIf()和 bind()相同,除了他只在不存在绑定的情况下才回注册绑定(请参见上面的 bound()),它可以用于在包注册中默认绑定,同事允许用户覆盖它: $container

    4.7K70

    Laravel源码解析之事件系统

    创建完listener后就会把它放到 listener数组中以对应的事件名称为键的数组里,在 listener数组中一个事件名称对应的数组里可以有多个 listener, 就像我们之前讲观察者模式时 Subject...类中的 observers数组一样,只不过Laravel比那个复杂一些,它的 listener数组里会记录多个 Subject和对应 观察者的对应关系。...is_null($response)) { return $response; } //如果一个listener返回了false, 那么将不会再调用事件剩下的...如果触发事件时传递了halt参数,在listener返回非 false后那么事件就不会往下继续传播给剩余的listener了,否则所有listener的返回值会在所有listener执行往后作为一个数组统一返回...如果一个listener返回了布尔值 false那么事件会立即停止向剩余的listener传播。

    1.1K40

    Laravel源码解析之用户认证系统(一)

    下表列出了Laravel Auth系统的核心部件 名称 作用 Auth AuthManager的Facade AuthManager Auth认证系统面向外部的接口,认证系统通过它向应用提供所有与用户认证相关的功能...,是返回true,否者返回false * * @return bool */ public function check(); /** * 验证是否时访客用户...|null */ public function user(); /** * 获取当前认证用户的用户ID,成功返回ID值,失败返回null *...Illuminate\Contracts\Auth\Authenticatable */ public function loginUsingId($id, $remember = false...名称 作用 Auth AuthManager的Facade AuthManager Auth认证系统面向外部的接口,认证系统通过它向应用提供所有Auth用户认证相关的方法,而认证方法的具体实现细节由它代理的具体看守器

    3K30

    Redis 分布式锁在 Laravel 任务调度底层实现中的应用

    Laravel 任务调度的入口代码 可以看到,Laravel 调度任务的基本使用非常简单,下面我们来看看它的底层是如何实现的,以及这与我们所要介绍的 Redis 分布式锁又有何关联。...$this->runsInMaintenanceMode() && $app->isDownForMaintenance()) { return false; } return...则退出,否则调用当前对象提供的 expressionPasses 方法判断当前调度任务是否到期可以执行(后面的 runsInEnvironment 方法用于验证是否满足定义调度任务时设置的环境约束,比如只在测试环境运行...,而当前环境是生产环境,则不会运行这个调度任务,这里我们没有设置,可以忽略),返回到调用 isDue 方法的上一层代码,dueEvents 方法最终返回所有当前已到期、可以执行的、通过 Event/CallbackEvent...false: public function add($key, $value, $seconds) { $lua = "return redis.call('exists',KEYS[1])

    6.2K21

    Laravel Ignition 功能全解析

    Symfony 的错误页面稍微好一些,它向您显示堆栈跟踪,但是没有多大帮助。 ? 下面的截图是 Whoops,这是 Laravel 5 中的标准。...尽管在 Laravel 中 Whoops 是默认值,但它是一个框架无关的(错误收集展示)。它仅仅显示通用信息。 ? 这是 Ignition 的截图,我们建立的新的错误视图。...我们也只在默认情况下显示应用程序帧,因为这些可能是您感兴趣的帧。 ? 如果您单击 stack trace选项卡右侧文件名旁边的铅笔图标,我们将在您喜欢的编辑器中自动打开该文件。...getSolution方法既可以返回可运行的解决方案,也可以返回不可运行的解决方案。...该包是一个基于 spatie/laravel-web-tinker 的包装器,它允许您在浏览器中使用 Artisan tinker。

    3.1K40

    【Laravel系列7.2】错误与异常处理

    它的作用就是中止后续的默认日志的记录。 怎么测试呢?你可以手动去抛出一个普通异常。...渲染异常 产生了异常之后,我们肯定要有一个显示异常的响应返回回来。对于 Laravel 来说,默认情况下根据不同的 APP_DEBUG 的配置,就可以得到上面两个截图中的不同的响应返回页面。...这是默认情况下框架为我们提供的页面,那么我们能不能自定义异常的返回页面或者返回信息呢?当然没有问题。...它的回调函数有两个参数,第一个是异常对象,第二个是请求信息。通过这个请求信息,我们就可以构造不同的响应返回页面。...比如说在这里我通过判断请求是否是 ajax 请求来返回不同的响应的内容,如果是 ajax 请求,那么就返回 json 格式的错误信息。如果不是的话,就返回一个我自己定义的错误页面。

    2.8K20

    laravel初次学习总结及一些细节

    最近学习了laravel,先简单谈谈学习的感受吧 刚开始一周多一点的时间先把laravel的开发文档看了一遍,,感觉刚开始接触时的感觉laravel的目录与thinkphp又不一样,它们的渲染模板的方式也不一样...,模型的功能又比thinkphp的强大了许多,但是最厉害的地方的是它支持composer安装许多的模块,简单方便。...在laravel的文档中,学到了门面(接口)和契约(接口),还知道了中间件,csrf保护和blade视图模板及laravel验证(过滤进入应用的 HTTP 请求提供了一套便利的机制) 在学习完laravel5.3...get_links_id(),operate:operate},function(data){ alert(data); location.reload(); }); } 这样方法台只需要返回数据就前台就可以直接接收到了...在 ajax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件 contentType: false,

    4.6K20

    基于 Redis 实现简单限流器及其在路由中间件中的应用

    限流中间件在 Laravel 中的使用 我们知道,在 Laravel 项目中,可以通过 RateLimiter 门面的 for 方法来定义限流逻辑比将其应用到路由中(详见路由文档),也可以直接在 Laravel...下面我们来分析下 Laravel 路由限流中间件 throttle 的底层实现源码,看看它到底是怎么实现限流器的。...key, $limit->maxAttempts) ); } return $response; } 以最原始的 throttle:10,1 为例,$limits 中只包含了一个对象...false,如果触发访问上限,则调用当前对象的 buildException 方法返回 429 响应。...,键值初始化的时候是 0,后续通过 RedisStore 的 increment 方法做自增操作,并返回自增后的值返回。

    3.2K30

    【MQ06】延时队列与优先级队列

    ->delay(now()->addSeconds(random_int(0,10))); return 0; } // ……………… 这个 delay() 方法接收一个 now() 助手函数返回的...同时,我们也可以先查询小于当前时间戳分数的数据,然后只取出这一部分的数据。现在你可以再添加几条数据,但不要开消费者。...我们之前演示的是在队列定义时设置队列的消息过期时间,如果只使用这种形式,那么整个队列中所有的消息过期时间都是一样的,这个明显不符合我们的需求。...// 5.rq.p.php // ……………… $channel->queue_declare('hello5', false, true, false, false, false, new AMQPTable...Laravel 中的优先队列 我们还是先来看 Laravel 实现的优先级队列,它其实并不是一个完全的优先级队列实现,因为它针对的其实是不同的队列,而不是同一个队列中给不同的消息赋予不同的优先级。

    23810

    全局梳理、分析、总结 laravel 的核心概念

    03 — 路由 laravel 的路由也是自身框架的一个特征点,它的路由样式用法丰富且又简洁明了。让开发者甚是喜欢。...要使用路由缓存,你需要将代码从闭包转移到控制器类中) 如果您的应用程序只使用了基于控制器的路由,那么您应该利用 Laravel 的路由缓存。路由缓存会大大减少注册所有路由所需的时间。...您可以使用 route:clear 命令来清除路由缓存: php artisan route:clear 04 — 中间件 laravel 的中间件想必大家不会那么陌生吧。它自带了一些中间件。...可修改 redirectTo 方法,返回未经身份验证的用户应该重定向到的路径。...singleton 方法将类或接口绑定到只解析一次的容器中。

    6.1K41

    Laravel项目的性能优化

    众所周知Laravel框架的功能很强大,它里面的东西也很多,即便如此它仍然是一个优秀的框架,但在生产环境下要做好优化提升网站的打开速度。...所以,接下来的这篇文章给大家分享了几个Laravel网站性能优化的技巧。 优化一:关闭debug 打开.env文件,把debug设置为false。...在本地开发环境和小项目中它没啥问题,但是项目增长时,就显得不够用了。 所以,考虑下换个更好的驱动例如 Redis。 Laravel 有内置支持它的方式,而你要做的就是 安装 Predis。...它应该有所帮助(一点点)! 优化七: 使用预加载进行查询 如果你知道 Laravel 是什么,你可能也知道预加载是什么。...您将只执行两个查询而不是1001! 这是巨大的性能提升。 优化八:缓存查询结果 有时候, 缓存一个具体的查询结果可能是一个好主意。 想象这样一个场景:你准备在你的应用主页上展示 排行榜。

    3.8K30

    如何扩展Laravel Auth来满足项目需求

    想了解实现细节的可以回看下面两篇文章 Laravel源码解析之用户认证系统(一) Laravel源码解析之用户认证系统(二) 在介绍用户认证系统基础的时候提到过Laravel自带的注册和登录验证用户密码时都是去验证采用...StatefulGuard, SupportsBasicAuth { public function attempt(array $credentials = [], $remember = false...可以触发事件通知用户有可疑的登录尝试(需要自己定义listener来实现) $this->fireFailedEvent($user, $credentials); return false...=> $this->attributes['password'], 'salt' => $this->attributes['salt']]; } } 然后我们用一个自定义的用户提供器,通过它的...系统中, Auth::provider方法将一个返回用户提供器对象的闭包作为用户提供器创建器以给定名称注册到Laravel中,代码如下: class AppServiceProvider extends

    2.7K20
    领券