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

laravel 8API:如何将username与Auth作为存储发布的user_id值传递

在 Laravel 8 API 中,可以通过以下步骤将 username 和 Auth 作为存储发布的 user_id 值传递:

  1. 首先,确保你已经安装了 Laravel 8,并且已经设置好了数据库连接。
  2. 创建一个新的 API 路由,可以在 routes/api.php 文件中定义。例如,你可以创建一个 POST 请求的路由来处理用户的发布请求:
代码语言:txt
复制
use Illuminate\Support\Facades\Route;

Route::post('/posts', 'App\Http\Controllers\PostController@store');
  1. 创建一个对应的控制器来处理该请求。可以使用以下命令来生成控制器:
代码语言:txt
复制
php artisan make:controller PostController --api
  1. 在生成的 PostController 类中,可以在 store 方法中处理用户发布的逻辑。首先,你需要获取当前认证用户的 ID,可以使用 Auth facade 来实现:
代码语言:txt
复制
use Illuminate\Support\Facades\Auth;

public function store(Request $request)
{
    $userId = Auth::id();
    // 其他逻辑...
}
  1. 接下来,你可以使用 $userId 变量将用户发布的内容与用户关联起来。例如,你可以将用户发布的内容存储到数据库中的 posts 表中:
代码语言:txt
复制
use App\Models\Post;

public function store(Request $request)
{
    $userId = Auth::id();

    $post = new Post();
    $post->user_id = $userId;
    $post->content = $request->input('content');
    $post->save();

    // 其他逻辑...
}

在上述代码中,我们将 $userId 赋值给了 user_id 字段,将用户发布的内容存储到了 content 字段。

  1. 最后,你可以根据需要添加其他的逻辑,例如验证用户输入、返回响应等。

这是一个简单的示例,演示了如何在 Laravel 8 API 中将 username 和 Auth 作为存储发布的 user_id 值传递。根据实际需求,你可以根据 Laravel 的文档和你的业务逻辑进行更详细的实现。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。你可以在腾讯云官网上找到这些产品的详细介绍和文档。

腾讯云云服务器(CVM)介绍链接:https://cloud.tencent.com/product/cvm 腾讯云数据库(TencentDB)介绍链接:https://cloud.tencent.com/product/cdb

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

相关·内容

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

这个时候可以使用Auth::attempt()函数,这个函数作用原理是将你传递进去数组,比如下面: public function checkLogin(Request $request){ $...其中,我们使用了3个参数user_name,user_id,password,attempt会把除了password之外内容作为where内容,从数据库中搜索记录,如果记录为0,那么当然不用说了,验证失败...laravel保存$password方式是使用PHP函数password_hash,该函数能计算传入哈希,而且该函数需要第二个参数,指定哈希处理方式,Laravel中该参数名为PASSWORD_BCRYPT...假设你密码为123456,那么你保存在数据库中就是 password_hash('123456','PASSWORD_BCRYPT') Auth::attempt()会将你提交过来,做password_hash...($post_password,'PASSWORD_BCRYPT')处理,然后跟数据库中存储进行比较,相等则验证通过,不相等,则自然验证失败。

4.8K20

详解将数据从Laravel传送到vue四种方式

在过去两三年里,我一直在研究同时使用 Vue 和 Laravel 项目,在每个项目开发开始阶段,我必须问自己 “我将如何将数据从 Laravel 传递到 Vue ?”。...在过去,我用它作为存储和访问 API 基 URL、公钥、特定模型 ID 和各种其他需要在整个前端使用小数据项方法。 不过,使用此方法有一点需要注意,这就是访问 Vue 组件内部数据方式。...通过运行 php artisan vendor:publish 来选择 jwt-auth 软件包发布配置文件。...在 API 登录方法中,你将使用相同 auth()- attempt 方法作为默认 Laravel 应用程序,但从它返回除外是你应该传递 JSON Web Token 令牌。...从那里,你 Vue 应用程序应该存储该令牌 (存储在 LocalStorage 或者 Vuex),在每一个传出请求中,都将它加入到 Authorization header 作为授权头。

8K31

基于 Redis 消息队列实现文件上传异步存储

不过在 Laravel 中,我们可以基于消息队列完成文件存储异步处理:编写一个处理文件上传任务类,当有文件上传时,将该文件存储操作通过任务类推送到消息队列,最后通过队列处理器进程异步处理存储和其他后续操作...我们还传入了该图片所属 Post 模型实例,以便后续更新其 image_id 属性。...优化任务类载荷数据大小 现在我们已经实现了图片存储异步处理,如果你使用了第三方云存储服务,涉及到外部网络请求,或者还要对图片进行裁剪或者加水印等更多耗时操作,使用这种异步处理优势将更加显著。...一种优化思路是将上传文件临时存储到某个路径,然后将临时文件路径作为载荷数据替代之前 base64 编码,在处理任务时再从这个临时路径加载文件,待文件处理完成后,删除这个临时文件。...通过文章发布表单再次发布一篇新文章,并传递一张新图片(或者将原来图片文件重命名): ? 这个时候,去查看 Redis 消息队列中任务类载荷数据,已经变得非常小了,现在它大小只有 1KB: ?

3.4K20

30分钟用Laravel实现一个博客

3306 #端口 DB_DATABASE=数据库名 DB_USERNAME=用户名 DB_PASSWORD=密码 下载中文包 composer require caouecs/laravel-lang...---- 上文中,我们只是创建了数据库,并没有创建数据表,现在来确定一下我们数据表 项目是一个个人博客,因此只有博主可以发布、删除、修改博客。其他用户则可以查看博客和发布评论。...') }} => 我博客 //注意这里有一个 config('app.name') 该函数其实是读取 /.env 里 APP_NAME ,且默认为 'Laravel' ,也就是说,你改 APP_NAME...也可以改这里显示,不过我嫌麻烦,直接查找替换了。...方法,现在没有,所以我们再 app\Comment.php 模型中完成 use App\User; //引用模型 // 根据 user_id 获取用户名 public function userName

7.3K00

Laravel 5 系列入门教程(一)【最适合中国人 Laravel 教程】

软件版本:PHP 5.4+,MySQL 5.1+ 本文不推荐完全不懂 PHP MVC 编程的人学习。本文不是 “一步一步跟我做” 教程。...本系列教程使用 Laravel 5.0 版本,5.1 版本去掉了本系列教程主要讲解元素(Auth 系统),不建议使用 5.1 来学习。...体验 Auth 系统并完成安装 —— 经过上面的过程,Laravel 5 安装成功了?...=laravel5 DB_USERNAME=root DB_PASSWORD=password 推荐新建一个名为 laravel5 数据库,为了学习方便,推荐使用 root 账户直接操作。...Laravel 已经为我们准备好了 Auth 部分 migration,运行以下命令执行数据库迁移操作: php artisan migrate 得到结果如下: 如果你运行命令报错,请检查数据库连接设置

3.4K20

Laravel Eloquent 模型关联关系(下)

whereHas/orWhereHas 方法基于闭包函数定义查询条件,比如我们想要过滤发布文章标题中包含「Laravel学院」所有用户: $users = User::whereHas('posts...>orderBy('created_at', 'desc'); }]); 关联插入更新 一对多关联记录插入 新增关联模型时候,可以在父模型上调用相应方法直接插入记录到数据库,这样做好处是不需要指定关联模型父模型外键关联字段...' => $userId]); // 还可以一次绑定多个标签 // $post->tags()->attach([1, 2]); // 如果绑定多个标签,要传递额外字段,可以这么做: /*$post-...对于那些已存在标签记录,我们可以通过更高效方法文章进行关联关系绑定和解除,这个方法就是 sync,调用该方法时只需传入刚创建/更新后文章标签对应 ID ,至于哪些之前不存在关联需要绑定,哪些存在关联需要解除...有时候,你可能仅仅是想要更新中间表字段,这个时候,可以通过 updateExistingPivot 方法在第二个参数中将需要更新字段以关联数组方式传递过去: $post->tags()->updateExistingPivot

19.5K30

3分钟短文 | Laravel如何改造复杂多表联合查询,这很高效!

引言 今天我们来说一下laravel框架里最常用数据库模型操作,特别是功能复杂应用程序, 往往会拆分出许多业务表,关联表,在时间和空间上进行权衡。 ?...关联度最深还数 articles,因为它要存储该文章分类,还有发布者。字段如下: id title body categories_id user_id 为了说明问题,我们精简了表结构。...接着是 分类表 category 字段: id category_name 最后是发布者 users 表字段: id user_name user_type 好了准备工作做完了。...假设要查询一篇文章,且需要连带查询出该文章分类信息,发布者信息,最直观是使用 join 关联查询。...而且一点也不laravel。所以我们尝试着使用laravel eloquent orm 方式实现。 首先是创建表对应模型 User.php, <?

1.1K30

在程序设计中使用Interface

首先在Interface在Laravel框架中被称为契约, 例如我们在介绍用户认证章节中到用户看守器契约Illumninate\Contracts\Auth\Guard 和用户提供器契约Illuminate...契约 Laravel内核提供实现类 Illumninate\Contracts\Auth\Guard Illuminate\Auth\SessionGuard Illuminate\Contracts...\Foundation\Auth\Authenticatable(User Model父类) 所以在自己开发项目中,如果Laravel提供用户认证系统无法满足需求,你可以根据需求定义看守器和用户提供器实现类...() { $orders= Order::where('user_id', '=', \Auth::user()->id)->get(); return View...在这里我们数据可能来自MySQL,MongoDB或者Redis。我们控制器不知道也不需要知道他们区别。这样我们就可以独立于数据层来测试Web层了,将来切换存储实现也会很容易。

1.1K10

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

安装 tymon/jwt-auth 扩展包 让我们在这个 Laravel 应用中安装这个扩展包。...如果您正在使用 Laravel 5.5 或以上版本 ,请运行以下命令来获取 dev-develop 版本 JWT 包: composer require tymon/jwt-auth:dev-develop...发布配置文件 对于 5.5 或以上版本 Laravel,请使用下面这条命令来发布配置文件: php artisan vendor:publish --provider="Tymon\JWTAuth\...在 login 方法中,我们得到了请求子集,其中只包含电子邮件和密码。以输入作为参数调用 JWTAuth::attempt() ,响应保存在一个变量中。...index , 为经过身份认证用户获取所有产品列表 show , 根据 ID 获取特定产品 store , 将新产品存储到产品列表中 update , 根据 ID 更新产品详情 destroy ,

10.9K20

Laravel 用户认证

例如,Laravel 附带了一个 session 守护程序,它使用 session 存储和 cookie 来维护状态。 提供器定义如何从持久存储中检索用户。...::attempt方法会做两件事: 查询用户:除了password以外字段都会作为查询条件 比对密码:明文密码即可,因为框架将该数据库中散列密码进行比较之前会自动加密 以上两个操作都成功才会返回...attempt(array $credentials = [], $remember = false); 访问特定看守器实例 传递给 guard 方法名称应存在 auth.php 配置文件中 if...,传递给 extend 方法回调应该返回 Illuminate\Contracts\Auth\Guard 实例。...首先,请在您 AuthServiceProvider boot 方法中调用 Auth::viaRequest 方法。 VIASRequest 方法接受身份验证驱动程序名称作为其第一个参数。

2.1K20

thinkPHP3.2使用RBAC实现权限管理实现

($authId=null); 缓存权限列表,在这个方法可以传递前提是:你在用户登录操作时候要在 _SESSION[C(‘USER_AUTH_KEY’)] 中把用户id保存下来,然后这里会将用户所对应角色拥有的权限都保存在...checkLogin(); 判断用户是否登录,如果未登录则跳转到指定路径 5:Rbac::getAccessList($authId) 通过查询数据库 返回权限列表 $_SESSION[‘_ACCESS_LIST’]...6:Rbac::authenticate(map, model=”) 传入查询用户条件和用户表MODEL 返回数组包含用户信息,如果不传model的话使用配置项中USER_AUTH_MODEL...四:权限管理简单实现实例: 1:登录: //获取传递用户名和密码 $username = I('post.username'); $password = I('post.password'); //...(C('USER_AUTH_KEY'), $authInfo['user_id']); //后台用户名SESSION标记 session(C('BACK_LOGIN_NAME'), $authInfo

77230

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

之前写过两篇文章分别介绍了Laravel Auth认证系统构成和实现细节知道了Laravel是如何应用看守器和用户提供器来进行用户认证,但是在现实工作中大部分时候产品用户体系是早就有的这种情况下就无法使用框架自带...bcypt加密存储密码,但是很多已经存在老系统中用户密码都是用盐加明文密码做哈希后存储,如果想要在这种老系统中应用Laravel开发项目的话那么我们就不能够再使用Laravel自带登录和注册方法了...修改用户注册 首先我们将用户注册时,用户密码加密存储方式由 bcypt加密后存储改为由盐明文密码做哈希后再存储方式。...,还有其他一些需要用户信息相关字段也需要存储到用户表中去这里就不再赘述了。...系统中, Auth::provider方法将一个返回用户提供器对象闭包作为用户提供器创建器以给定名称注册到Laravel中,代码如下: class AppServiceProvider extends

2.6K20

JWT原理构成使用(带案例简单易懂)

前端后端分处不同域名,这就涉及到跨域访问数据问题,因为浏览器同源策略,默认是不支持两个不同域间相互访问数据,而我们需要在两个域名间相互传递数据,这时我们就要为后端添加跨域访问支持。...协议,我们并不能知道是哪个用户发出请求,所以为了让我们应用能识别是哪个用户发出请求,我们只能在服务器存储一份用户登录信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们应用...流程: 服务器使用用户名和密码来请求服务器 服务器验证用户信息 服务器通过验证发送给用户一个token 客户端存储token,并在每次请求时附送上这个token 客户端验证token,并返回数据 这个...token,我们还需在返回中增加usernameuser_id。...,在收到用户名密码时,也是调用Django认证系统中提供**authenticate()**来检查用户名密码是否正确。

76620

Spring Security入门(三): 基于自定义数据库查询认证实战

/G'); commit ; 为了维护用户敏感信息安全,数据库里用户登录密码或支付密码等安全性要求较高字段一律采用加密存储方式存储。...在TblUserRepository接口中我们自定义了一个根据username字段查找用户信息方法,继承自JpaRepository接口数据库访问接口无需开发人员手动实现其中 2.2 新建角色表对应...,看起来非常清晰 5 存储用户认证信息类源码解读 5.1 认识SecurityContextHolder和SecurityContext 用户登录成功后认证信息最终能会作为一个Authentication...,这也就意味着即时当前SecurityContext对象没有作为一个参数传递到具体方法里去,同一个线程中任意方法都能拿到SecurityContext对象,进而拿到用户认证信息。...,默认使用ThreadLocal存储当前登录用户认证信息即可。

1.3K40

Laravel 优雅之处 之,Passport搭建SSO系统

Laravel 是一个流行 PHP 框架,都说其在许多方面都优雅之处,比如:优雅认证系统:Laravel 自带认证系统提供了一种优雅方式来处理用户登录和注册,开发人员只需几行代码即可实现这些功能...优雅 ORM:Laravel Eloquent ORM (对象关系映射) 具有简单、优雅且易于使用语法,它可以让开发人员轻松地数据库进行交互。...auth()->user() : null;});接下来,我们需要创建一个路由来处理用户身份验证请求。可以使用 Laravel 自带 AuthController 类来处理此请求。...Please enter a username or a password....当用户在一个应用程序中进行身份验证时,该系统将颁发一个访问令牌,并将其传递到其他应用程序中,使用户能够在这些应用程序中保持登录状态。

99250

laravel5.5安装jwt-auth 生成token令牌示例

作者将秘钥 Laravel APP_KEY 分开,以便开发者可以独立地修改它们。 提供了一个 artisan 命令,为我们生成一个随机秘钥。...providers.jwt 完成 token 编码和解码繁重工作 providers.auth 通过凭证或 id 来认证用户 providers.storage 用于驱动黑名单,并存储 token...) – token 发布者(默认为请求 url) jti(JWT Id) – token 唯一标识符(sub 和 iat 声明 md5 ) aud(Audience) – token 目标受众...,可以传递一个 ‘自定义声明’ 数组 在解码 token 时,这些自定义声明,将和其他声明一起提供。...\RefreshToken', ]; 以上这篇laravel5.5安装jwt-auth 生成token令牌示例就是小编分享给大家全部内容了,希望能给大家一个参考。

3.2K31

基于 Redis 消息队列实现邮件通知异步发送

为了简化演示流程,我们使用邮件作为通知通道,一并介绍邮件和通知异步发送。...配置邮件驱动 为了方便本地开发调试,使用 Maillog 作为邮件驱动,它可以在本地拦截应用发送所有邮件并提供一个 Web 界面在浏览器中预览这些邮件信息,Laravel Sail 开发环境默认提供了这个容器服务...定义用户注册事件监听器 以学院君现在使用 Laravel Breeze 认证扩展包为例,该扩展包在用户注册成功后会触发 Laravel 底层提供 Illuminate\Auth\Events\Registered...,因为真正需要异步处理只有邮件通知发送而已,我们不需要把简单、能够快速处理操作放到消息队列,因为这涉及到 Redis 交互、网络传输、序列化操作,这些都是需要消耗系统资源和网络传输时间,如果比同步操作本身性能还要差...关于 Laravel 底层是如何将通知发送推送到消息队列,可以参考之前事件监听和广播底层源码分析思路去查看,这里就不再赘述了。

2.9K20
领券