Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Laravel -密码保护路由

Laravel -密码保护路由
EN

Stack Overflow用户
提问于 2022-06-13 23:42:38
回答 2查看 165关注 0票数 0

我有一个没有用户角色的应用程序,因为除1之外的所有函数都对所有用户开放。

由于我们增加了一个短信通知功能,这是一个费用,我想限制谁可以使用这个功能背后的密码。

因此,在我目前的表格中,我有以下几点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="row">
            <div class="col-sm-8">
                <div class="card">
                    <h2 class="text-center">Send SMS Notification</h2>
                    <p class="text-center">Please note a password is required for this function</p>
                    <div class="card-header card-header-rose card-header-text">
                        <div class="card-text">
                            <h4 class="card-title">Enter Message</h4>
                        </div>
                    </div>
                    {!! Form::open(array('action' => ['NotificationController@sms'],'method'=>'POST', 'class'=>'form-horizontal')) !!}
                    <div class = "card-body">
                        @if (count($errors)>0)
                            <div class = "alert alert-danger">
                                <strong>Whoops!</strong> There were some problems with your input.<br><br>
                                <ul>
                                    @foreach ($errors->all() as $error)
                                        <li>{{ $error }}</li>
                                    @endforeach
                                </ul>
                            </div>
                        @endif

                        <div class = "row">
                            <label class = "col-sm-2 col-form-label">Message: </label>
                            <div class = "col-sm-6">
                                <div class = "form-group">
                                    <input type = "text" class = "form-control" maxlength="160" name="message">
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class = "card-footer">
                        <div class = "row">
                            <div class = "col-md-4">
                                <div class="pull-left">
                                        <a href="{{action('HomeController@index')}}" class = "btn btn-danger">Cancel</a>
                                </div>
                            </div>
                            <div class ="col-md-4">
                                <button type="submit" class="btn btn-success">Send SMS Notification</button>
                            </div>
                        </div>
                    </div>
                    {!!Form::close()!!}


                </div>
            </div>
        </div>

所以想法是当发送短信通知是按下,系统将要求一个密码,用户需要输入。

我不知道如何添加这个功能,谷歌也没有帮上忙。目前,发送消息的代码很好,这里没有任何问题。

欢迎其他建议。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-06-14 00:36:03

我想你是在找Laravel Basic Auth。基本八月配备了拉勒维尔奥特的盒子。

您需要一个包含电子邮件和密码的用户表。您可以使用仅接受身份验证用户才能获得下一个请求的中间件保护路由。

在您的情况下,如果您想限制用户访问sms发送功能,您将不得不在用户模型中添加某种差异,比如您控制哪些用户可以发送或不能发送sms的策略。

Http basic auth expect在Basic Auth表单中以用户名的形式找到电子邮件。

你唯一需要做的就是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Route::get('/sendsms', [SmsController::class,'index'])->middleware('auth.basic');

拉勒维尔博士中有更多关于这方面的信息

票数 0
EN

Stack Overflow用户

发布于 2022-06-14 00:50:50

除了中间件之外,您还可以做简单的签入控制器(假设您存储密码,因为它应该存储),只需在发送sms表单中添加密码字段即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $validated = request()->validate([
    'password' => 'required',
    // other rules here    
  ]);
  // take it from users table or where you're going to store passwords
  $hashedOriginal = Hash::make('smspassword');

  $isPasswordValid = Hash::check($validated['password'], $hashedOriginal);
  if (!$isPasswordValid) {
    abort('401');
  }
  // your send sms code next

在一般的中间件中,您可以很容易地扩展密码保护函数,因此,如果发送sms不是最后一个密码保护函数的可能性,您最好坚持使用中间件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72613192

复制
相关文章
Laravel5.1 路由 -路由分组
有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中。
全栈程序员站长
2022/07/07
5600
laravel 路由404问题
今天在创建一个laravel 项目的时候,首页能够访问 在这里插入图片描述 Route::get(’/home’, function () { //return view(‘welcome’)
双面人
2020/02/13
2.4K0
Laravel 路由使用进阶
常言道「物以类聚,人以群分」,同样,在日常开发中,我们通常会将具有某些共同特征的路由进行分组,这些特征包括是否需要认证、是否具有共同的路由前缀或者子域名、以及是否具有相同的控制器命名空间等,显然,对路由按照共同特征进行分组后可以避免重复为某些路由定义相同的路由特征,让代码更加简洁,可读性和可维护性更好。
学院君
2020/10/19
1.5K0
Laravel 路由定义文件
路由就是提供接收HTTP请求的路径,并和程序交互的功能。提供访问程序的URL地址,并做一些设置工作
很酷的站长
2023/02/18
6870
Laravel 路由定义文件
Laravel 路由使用入门
对任何一个 Web 应用框架而言,通过 HTTP 协议处理用户请求并返回响应都是核心必备功能,也就是说,对于我们学习和使用一个 Web 框架,第一件要做的事情就是定义应用路由,否则,将无法与终端用户进行交互。而我们的 Laravel 从入门到精通系列教程之旅也将从路由开始,在这篇真正意义上的开篇教程中,我们将学习如何定义路由,然后将其指向要执行的代码,并处理各种路由需求。
学院君
2020/10/19
2.6K0
Laravel 路由使用入门
laravel隐性路由绑定
控制器app/Http/Controllers/UsersController.php:
章鱼喵
2019/04/09
1.3K0
Laravel源码笔记(二)路由
路由是web服务不可或缺的一部分,一个好的web框架必须具备一整套灵活且丰富的路由系统。Laravel自然也不例外,通过配置文件中一两行代码就可以实现一个具有完整的参数、属性及约束的路由,甚至可以免去写专门的controller。如此强大的功能是如何实现的呢?下面仍然从laravel框架的启动过程出发,探究一下源码中是如何一步步实现路由服务的。
asterDY
2020/04/13
7.5K1
Laravel源码笔记(二)路由
[译]Laravel 5.0 之路由缓存
本文译自 Matt Stauffer 的系列文章. ---- 在 PHP 代码中进行性能优化并非总是我们优先考虑的问题. 但是我们对后端代码的性能优化--特别是在一些很复杂的操作上--可以对网站的请求时间产生几十甚至几百毫秒的影响. 看上去不算很多, 但是几百毫秒的差异对于你的应用的用户感知速度来说可能意味着巨大的差异(链接可能需要扶墙访问). 你可能没有注意到, 在 Laravel 4 以及更老版本中, 路由逻辑是性能上的一个瓶颈--特别是对于有很多路由定义的应用而言. 一个只有几百条路由定义的 Lara
小李刀刀
2018/03/02
1.4K0
Laravel —— 路由的学习笔记
最近的工作非常忙,公司从项目紧张起来之后,一直在实施996加班制度,工作强度虽然如此,但是任然要利用有限的空余时间来学习。之前都有在前端方面的学习,所以一直想学习PHP,好把前后端的知识能贯穿起来做。现在有个很小的目标就是完成自己的第一个前后端串联的作品。
Originalee
2018/08/30
1.1K0
laravel 学习之路 路由视图初探
我大致了解了 laravel 下,在开始一个 Http 程序需要先定义路由。之前的例子中,我们的业务逻辑都是在路由里实现,这对于简单的网站或 web 应用没什么问题,当我们需要扩大规模,程序变得复杂,分层的业务逻辑更为适合。这时候,我们就应该使用控制器。 了解 MVC 的都对控制器的作用有所了解,控制器是实现主要业务逻辑的。在其他框架,控制器一般就是一个类,laravel 也不例外,laravel 的控制其结构并没有什么特殊。
风清醉
2019/12/18
1.4K0
[PHP] laravel中的api路由前缀
所有的 Laravel 路由都在 routes 目录中定义,这些文件都由框架自动加载。routes/web.php 文件用于定义 web 界面的路由。这里面的路由会被分配给 web 中间件组,它提供了会话状态和 CSRF 保护等功能。 定义在 routes/api.php 中的路由都是无状态的,并且被分配了 api 中间件组。
唯一Chat
2021/06/22
3.3K0
[PHP] laravel中的api路由前缀
PHP-Laravel入门使用(路由)
什么是路由:将用户的请求按照事先规划的方案提交给指定的控制器或者功能函数来进行处理.【通俗的讲,路由就是访问地址形式】 在博客中,当我们在URL地址中,传递p(平台)、c(控制器)、a(方法)三个参数时,系统会自动跳转到指定模型中指定控制器的指定方法,这些处理过程都是由框架自动完成的。但是,在Laravel框架中,其并没有指定固定参数,其路由必须要手工进行配置。
cwl_java
2020/03/27
2K0
Laravel踩坑日记之路由配置
Laravel 可以轻松使地保护你的应用程序免受 cross-site request forgery (CSRF)攻击,跨站点请求伪造是一种恶意攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令。
Meng小羽
2019/12/23
7100
最为常用的Laravel操作(2)-路由
要注册显式绑定, 需要使用路由的 model 方法来为给定参数指定绑定类. 应该在 RouteServiceProvider 类的 boot 方法中定义模型绑定:
仁扬
2023/07/01
1930
Laravel学习教程之路由模块
前言 本文主要给大家介绍的是关于Laravel路由模块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 备注:本文是基于Laravel 5.4版本的路由模块代码进行分析书写; 模块组成
用户2323866
2021/06/30
8250
点击加载更多

相似问题

使用htaccess密码保护给定的Laravel路由

17

从htaccess密码保护中排除特定的laravel路由

12

如何使用Laravel密码保护页面?

31

登录Laravel后密码保护页面

15

Laravel路由

45
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文