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

如何阻止Auth用户在laravel中使用非auth用户权限访问自己的页面?

在Laravel中,可以通过中间件来阻止Auth用户访问非auth用户权限的页面。中间件是Laravel框架中用于处理HTTP请求的一种机制,可以在请求到达路由之前或之后进行一些操作。

首先,需要创建一个自定义的中间件。可以使用以下命令在终端中生成一个中间件文件:

代码语言:txt
复制
php artisan make:middleware CheckAuth

然后,在生成的中间件文件app/Http/Middleware/CheckAuth.php中,可以编写以下代码:

代码语言:php
复制
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class CheckAuth
{
    public function handle($request, Closure $next)
    {
        if (Auth::check()) {
            // 用户已经通过认证
            return $next($request);
        }

        // 用户未通过认证,可以进行相应的处理,例如重定向到登录页面
        return redirect('/login');
    }
}

接下来,需要将中间件注册到应用程序中。可以在app/Http/Kernel.php文件的$routeMiddleware数组中添加以下代码:

代码语言:php
复制
'checkAuth' => \App\Http\Middleware\CheckAuth::class,

然后,在需要进行权限验证的路由或路由组中,可以使用middleware方法将中间件应用到路由上。例如:

代码语言:php
复制
Route::group(['middleware' => 'checkAuth'], function () {
    // 这里是需要进行权限验证的路由
});

通过以上步骤,当一个Auth用户尝试访问非auth用户权限的页面时,会被中间件拦截并重定向到登录页面。

对于laravel中的Auth用户和非auth用户权限的页面,可以根据具体业务需求进行定义和区分。在实际应用中,可以使用Laravel的认证系统来管理用户的权限和角色,以及定义不同用户类型的访问权限。

腾讯云提供了云服务器CVM、云数据库MySQL、云存储COS等相关产品,可以根据具体需求选择适合的产品进行部署和使用。具体产品介绍和文档可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP-web框架Laravel-基础概念和特性(三)

六、表单验证Web应用程序,表单验证是必不可少Laravel提供了一种简单而强大表单验证机制,可以很容易地验证用户输入数据。...}在这个示例,我们使用validate方法来验证用户输入,如果验证失败,则会自动重定向回表单页面,并显示相应错误信息。...// 用户注销public function logout() { Auth::logout();}在这个示例,我们使用Laravel提供Auth门面来实现用户登录和注销。...授权机制用于限制用户访问某些资源权限Laravel提供了一种简单而灵活授权机制,可以基于用户角色和权限来控制用户对资源访问。...然后路由中使用authorize方法来进行授权,如果用户没有权限访问页面,则会自动重定向到登录页面。这里还使用了middleware方法来指定需要登录后才能访问页面

1.3K30
  • laravel邮箱认证

    继上文laravel用户认证,本篇将实现新用户需要邮箱验证才能注册成功 邮箱认证流程 分为两步: 发送认证邮件 —— 将附带认证信息『认证链接』发送到用户邮箱里; 检测认证链接 —— 用户打开邮件,点击认证链接进入网站...,程序检测 URL 认证参数合法性,并渲染对应页面。...代码实现 将 routes/web.php 认证路由改为: Auth::routes(['verify' => true]); app/User.php 引入 MustVerifyEmailTrait...image 中间件验证权限 新注册用户并没有进行邮箱验证,可以通过 dd(\Auth::user()->hasVerifiedEmail()); 测试是否已经验证 我们要实现逻辑是:未验证用户自动跳转到邮箱验证提示页面...image 我们将log文件验证链接粘贴到浏览器访问,即可成功验证 小结 邮件认证功能,laravel已经帮我们封装好了,只需进行简单调用。难点在于理顺整个逻辑

    1.6K20

    3分钟短文:为了你少跳坑,Laravel写好了用户授权

    而如果要深度定制用户权限开发者,也非常有必要了解用户和授权相关内容。 本期为大家说一说用户注册和登陆功能。...users数据表 用户数据和信息必然在数据库内,所以laravel自带了User模型, app/User.php 文件内, 内部代码声明了必要部分: namespace App; use Illuminate...命令行执行迁移指令: php artisan migrate 执行成功后使用mysql客户端连接数据库,打印users表结构,如下图: 登陆注册 有了users表数据支持,还有laravel内置用户逻辑...预注册路由如下图: 这洋洋洒洒路由和控制器方法,如果我们自己设计,那得费多少时间?这下好,拿来直接用了。要不说laravel真香呢! 下面是默认注册前端页面。...写在最后 本文介绍了如何使用laravel自带users表所关联用户授权功能, 可以说是一个具有用户功能应用程序基石,我们后面的文章会着重深入介绍。

    91400

    3分钟短文:为了你少跳坑,Laravel写好了用户授权

    而如果要深度定制用户权限开发者,也非常有必要了解用户和授权相关内容。 本期为大家说一说用户注册和登陆功能。...users数据表 用户数据和信息必然在数据库内,所以laravel自带了User模型, app/User.php 文件内, 内部代码声明了必要部分: namespace App; use Illuminate...命令行执行迁移指令: php artisan migrate 执行成功后使用mysql客户端连接数据库,打印users表结构,如下图: 登陆注册 有了users表数据支持,还有laravel内置用户逻辑...预注册路由如下图: 这洋洋洒洒路由和控制器方法,如果我们自己设计,那得费多少时间?这下好,拿来直接用了。要不说laravel真香呢! 下面是默认注册前端页面。...写在最后 本文介绍了如何使用laravel自带users表所关联用户授权功能, 可以说是一个具有用户功能应用程序基石,我们后面的文章会着重深入介绍。

    57320

    PHP-web框架Laravel-中间件(二)

    中间件顺序Laravel,中间件顺序非常重要。当请求到达应用程序时,中间件将按照定义顺序依次执行。如果中间件返回响应或重定向,则后续中间件将不会执行。...现在,让我们通过几个示例来了解如何使用中间件。检查身份验证Laravel,可以使用auth中间件来检查用户是否已经进行了身份验证。...这意味着只有经过身份验证用户才能访问该路由。检查权限Laravel,可以使用can中间件来检查用户是否具有访问某个资源权限。...这意味着只有具有该权限用户才能访问该路由。记录请求Laravel,可以使用middleware方法将请求日志记录到文件。...过滤请求Laravel,可以使用middleware方法来过滤请求,例如根据IP地址或用户代理字符串。

    92520

    Laravel系列7.4】安全相关

    认证体系 Laravel ,自带了一套用户登录认证体系,这一套体系原来是直接框架自带,现在剥离出来通过 laravel/jetstream 组件实现了。...在这个控制器,我们 Login 方法中使用了 attempt() 方法来实现登录功能,只需要将原始用户名和密码传递进去,方法内部会查询用户并进行比对,它默认走是 User 这个 Model ,调用数据表就是...不过这些内容不在我们今天讨论范围内,我们只是看一下默认情况下 Laravel 自带认证是如何使用。...中间件守护 Laravel 认证体系,中间件有守卫职责,包括配置文件和 Auth 常用方法中都有 guard 这个单词出现。我们源码主要就来看一下它中间件是如何进行认证守护。...总结 今天内容主要是探讨了一下 Laravel 框架自带认证功能和加密相关内容。其实更多情况下,我们会自己去做 api 形式接口或者自己去写登录页面和验证逻辑。

    3.6K40

    护网杯easy laravel ——Web菜鸡详细复盘学习

    ::routes()是开发laravel使用了php artisan make:auth命令,即使用laravel默认注册登陆系统后laravel默认提供一套路由 这套默认路由具体laravel...成功进入admin用户! ? 0x04 进入后台 访问flag页面发现 ?...这里给出我自己理解:把魔术方法作为最开始小组件,然后魔术方法调用其他函数(小组件),通过寻找相同名字函数,再与类敏感函数和属性相关联,就是POP CHAIN 。...,phar文件以序列化形式存放了用户自定义meta-data,通过phar://伪协议解析phar文件时调用了unserialize()来反序列化meta-data,这样相当于有可以用phar地方就隐含调用了...$filename)){ 加入path参数拼接直接使用phar伪协议访问了exp.gif ? 然后再查看flag页面,即可看到新flag页面出现了flag ?

    3.3K30

    laravel 实现用户登录注销并限制功能

    up函数中加上这两个字段,后面可以按自己需求添加属性。 laravel默认字符集是utf8mb4,新增数据库字段会有这个字符集,想要改成utf8 可以直接修改datebase ?...4.用户登录配置 首先在config/auth.php添加配置,框架默认都是走自带User模块。 ? 加上图中两个配置,命名按照自己模块名字来命名。...$request- input('password'), ]); 以上就是登录函数,guard函数写入自己auth.php配置命名。...指定用户登录表。 ? 在前段页面获取时候也要指定命名。 ? 6.限制页面权限 后台登陆首页之前判断是否登陆,如果没有登录则跳转到登录页。...首先做一个中间件,让每个页面控制器运行之前先运行中间件,我们中间件写一些页面是否有权限访问动作。 ? 运行之后里面填写验证指定用户是否登陆 ?

    2.5K21

    30分钟用Laravel实现一个博客

    所有权限用户blog GRANT ALL on blog.* to 'blog'@'%'; 使用 composer 创建一个 laravel 项目 取名叫blog # 进入你本地服务器用于存放网站文档目录...* 即要求我们必须登陆才可以访问该控制器其他方法 * 有两种解决方法,一直是 $this->middleware('auth')->except('你要排除权限认证方法'),比如 ......view('视图名称') 来抓取视图显示页面上,现在打开浏览器访问主页,你就可以看得到 home.blade.php 内容了,我们看看 /resources/views/home.blade.php...总结 => 路由定义浏览器访问某控制器某方法地址,控制器完成一系列操作:如果需要操作数据库,需要调用模型,每一个模型对应一张表。...Policy进行认证,我会在以后教程里面教大家如何使用Policy策略进行权限认证 // 这里我们就使用判断当前用户在数据表中信息主键id是不是1即可(因为我们Seeder里面把编号为1用户设置为了可用管理员账号

    7.4K00

    laravel + passportAouth2.0全解

    3、Aouth2.0授权模式过程: A、每运行一次php artisan passport:client生成一个用户端 B、每使用不同ID请求都出现一次授权页面用户端通过授权模式获取access_token...),但改access_token能获取权限还是上次登录用户东西。...1.4 其实不必非要用别人配置好体系,比如 美团官方~~~Laravel 加 Vue2 加Element知道了原理自己配置更灵活。...每运行一次生成一个用户端、每使用一个请求都出现一次授权页面用户端通过code模式获取access_token) 1.2 模拟客户端全配置: 文件:routes/web.php <?.../start就是客户端(哔哩哔哩)微信授权按钮(使用微信登录按钮), * 2点开返回是微信登录界面(调试时候很多权限不对地方要注意退出该用户登录状态), * 3然后就是授权界面。

    3.7K30

    3分钟短文:太爽了,用Laravel写API接口!

    本期为大家说一说用laravel写restful风格API,看看能有多简单。 以路由开端 写API接口,与传统渲染前端模板页面有什么区别?...laravel默认api接口路由 routes/api.php 文件内定义,默认情况下预定义了一个资源类型api接口,代码如下: Route::middleware('auth:api')->get...用户权限 让我们把目光还聚焦系统默认声明那条路由: Route::middleware('auth:api')->get('/user', function (Request $request) {...return $request->user(); }); 注意中间件 auth:api,因为api请求是无状态,每次请求之间没有任何关联,所以使用用户权限区分资源返回。...默认驱动 token 定义框架文件 laravel/framework/src/Illuminate/Auth/TokenGuard.php 内。

    2.2K00

    通过 PHP 代码发送 HTTP 响应与文件下载

    PHP 可以通过内置 header 函数设置状态行及响应头,而对于响应实体,也就是我们通常看到 API 响应数据或者 Web 页面响应视图(HTML 文档),通过 PHP 打印函数输出即可,...耳听为虚,眼见为实,下面学院君结合常见使用场景来演示如何在 PHP 设置 HTTP 响应并发送给客户端。...比如我们只通过 echo 设置响应实体,然后浏览器访问 http://localhost:9000/response.php 访问这个脚本, Chrome 扩展台中可以看到响应状态码正是 200,...对于这种 HTTP 基本认证中提交用户名和密码,PHP 默认已经将它们封装到超全局变量 $_SERVER PHP_AUTH_USER 和 PHP_AUTH_PW 字段(HTTP 协议默认会通过请求头...关于 PHP 设置 HTTP 响应头学院君就简单介绍到这里,已经覆盖了日常我们经常使用场景,当然,还有一块就是 HTTP 缓存设置,这是一个比较宏大的话题,之前已经 HTTP 协议详解相关教程详细介绍过了

    4.6K20

    Laravel框架自定义验证过程实例分析

    分享给大家供大家参考,具体如下: 首先,你需要明白一点,当你开启auth中间件时候,其实是调用了app/Http/Kernel.php 'auth' = \Illuminate\Auth\Middleware...接着页面就会跳转到你设置用户填写表单页面,该表单提交路由你也一样要设置好: Route::post('login','AnyControllerName@AnyFunctionName'); 其实由于这里已经由我们可控了...,即,我们可以手动确定表单提交到哪个控制器以及对应该控制器下方法,所以接下来问题就是如何使Laravel知道我们确定该用户已经通过了验证了。...laravel保存$password方式是使用PHP函数password_hash,该函数能计算传入值哈希值,而且该函数需要第二个参数,指定哈希处理方式,Laravel该参数名为PASSWORD_BCRYPT...验证通过后,使用Auth::login(Auth::user());就可以完成用户登录验证了。

    4.8K20

    laravel5.2新功能

    基础上演示 我们还是以10yue.live网站为例 laravel5.2新功能 路由模型绑定 实例:routes/web.php页面添加路由 Route::get('/user/{user}',...那如果我想通过用户username字段访问用户信息改如何做呢?...刷新页面会看到 X-RateLimit-Remaining值一直变 修改routes/web.php post路由 将一分钟访问次数限制改为3 ?...红色区域代码表明 home路径下页面需要登录才能访问 浏览器浏览页面https://10yue.live/home 会看到页面跳转到登录页面 ?...laravel还自带了用户访问限制功能,如果一个用户连续错密码超过5次,系统将暂时拒绝该用户登录 ? 最后 我们输入php artisan route:list命令 会看到系统自动生成了一些路由 ?

    1.5K50

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

    Guard 看守器,定义了该如何认证每个请求中用户 User Provider 用户提供器,定义了如何从持久化存储数据检索用户 本文中我们会详细介绍这些核心部件,然后文章最后更新每个部件作用细节到上面给出这个表...开始使用Auth系统 只需 Laravel 应用上运行 php artisan make:auth 和 php artisan migrate 命令就能够项目里生成Auth系统需要路由和视图以及数据表...,它定义了如何从数据库或者应用使用持久化用户数据存储取出用户信息 | | Laravel支持通过不同Guard来认证用户,这里可以定义Guard用户数据提供者细节:...提供器定义了该如何从持久化存储数据检索用户Laravel 自带支持使用 Eloquent 和数据库查询构造器来检索用户。当然,你可以根据需要自定义其他提供器。...定义了Laravel auth系统里认证用户使用方法,除了认证用户外还会涉及用户认证成功后如何持久化用户认证状态。

    3K30

    Laravel7使用Auth进行用户认证

    laravel7 版本移除了 auth,大家都知道以前版本是直接使用 php artisan make:auth就可以使用,但是这版本不行了,那么要怎么弄呢?今天和大家说一下具体步骤。...Laravel7 laravel/ui 包提供了一种快速方法,可以使用一些简单命令来支持你进行身份验证所需所有路由和视图: 安装依赖包laravel/ui 直接使用命令进行安装 composer...这样就创建好auth脚手架了,这样页面就可以访问了,但是登录注册还不能使用。...我们会发现直接登录完页面进入了,然后退出登录。 然后再试一下登录,使用刚才邮箱和密码。 至此用户认证就实现了。有几个点再说一下。 模版文件resources文件夹内,可以随意修改。...你可以使用 app\Providers\RouteServiceProvider 定义 HOME 常量来自定义身份验证后重定向路径,自行修改即可。

    5.8K10
    领券