问题标签 [cartalyst-sentinel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1679 浏览

laravel-5.2 - Sentinel::authenticate() 不起作用

我正在使用 Laravel 5.2,安装了全新的 Sentinel 2.0,注册工作正常,但尝试登录会返回用户,但没有设置任何 cookie 或会话或任何东西..

更新1

此时我发现没有保存任何 cookie/会话。我真的不知道为什么不推送 cookie。

AuthController.php

\Sentinel::check();重定向前的 var_dump()

有什么想法会出错吗?

.env会话驱动程序中设置为database,并且会话表在登录后保持为空。也没有设置cookie。

0 投票
0 回答
1188 浏览

laravel - Laravel / Cartalyst Sentinel 身份验证未检测到用户已登录

我在 Laravel 5.1 上使用Cartalyst 的 Sentinel作为我的身份验证系统。我在前端使用角度。

我有一个domain.com/login发送 POST 请求的表单api.domain.com/login。如果用户输入了正确的凭据,则api.domain.com/login返回{'success': true}我的前端查看并最终转发到domain.com/dashboard

这就是问题出现的地方。我的仪表板控制器的相关部分:

未检测到用户已登录。并不断将我发送回domain.com/login

我怀疑这是因为部分登录正在发生,api.domain.com我们正在检查用户是否登录domain.com并且浏览器没有发送相关的哨兵cookies。Sentinel 文档没有提到任何关于此的内容。

如果我的怀疑是正确的,我如何允许 Sentinel 对用户进行身份api.domain.com验证domain.com?如果我的怀疑不正确,这里发生了什么?

0 投票
2 回答
162 浏览

laravel - 是否可以在 cartalyst/sentinel 上设置内容相关权限?

我是 laravel 和 cartalyst/sentinel 的新手,但对于这个项目,我面临授权问题:我必须为单个内容设置用户 CRUD 权限,我正面临如何使用 cartalyst/sentinel 进行 id . (一个小例子:如果我有一个博客,我想为每篇文章分别设置用户 CRUD 权限)。谁能帮我找到一些关于这样的文件?我已经用 CakePHP 实现了这种权限,但我是第一次使用 laravel。谢谢你

0 投票
2 回答
350 浏览

laravel - 关于将 Sentinel 与 Laravel 和 $fillable 数组一起使用的查询

我在 Laravel 中使用 Cartalyst Sentinel 进行用户身份验证。我已经创建了我的表单来添加一个新用户。Sentinel::register()出于某种奇怪的原因,除非我将密码字段放入$fillableUser 类模型中的数组中,否则密码不会通过。这是一个潜在的安全问题。我怎样才能解决这个问题?使用 Sentinel 创建新用户时,我一定缺少一些东西(并且 Sentinel 文档对有用信息非常少)。

只是我正在做的代码明智的快速纲要。我的数组填充了创建用户所需的字段。这个数组被传递到Sentinel::register(). 一切似乎都很好,但是当我查看数据库时,密码字段为空白。

附带说明:不幸的是,我无法切换身份验证系统。我需要使用哨兵。

0 投票
0 回答
460 浏览

php - 将 JWT Auth 与现有的身份验证系统一起使用

所以,这是我第一次尝试在我的 API 中实现身份验证。我已经有一个现有的身份验证系统 - Cartalyst Sentinel 2.0,现在要添加身份验证,我正在使用 JWT。我所做的是:

  • 在登录时向客户端发送令牌。

  • 将现有的身份验证哨兵中间件替换为同时进行身份验证和授权的新中间件。

原始中间件:

新中间件:

所以我的问题是——

  • 这是正确的方法吗?我的印象是身份验证和授权是两个独立的过程。这有任何安全漏洞吗?

  • Sentinel 身份验证是 cookie,基于会话的系统。那么在上面使用 JWT 之类的东西好吗?还是我也应该使用 JWT 进行身份验证(还不知道如何)?

我对 Auth/JWT 有很多疑问。但这些是第一位的。

0 投票
1 回答
1471 浏览

php - 带有 Sentinel 的 Laravel 5 使用“用户名”登录/注册

我已经关注了其他帖子/教程 - 制作了一个新模型 - 将其放入 app/Models(我创建了这个文件夹)/User.php

我将用户更改为

而且由于我使用的是 laravel 5.2 - 我需要运行

根据 https://stackoverflow.com/a/35614373

然后在路线上我尝试测试它

当我尝试运行它时出现错误

无效参数异常

未通过 [登录] 凭据

我把它改回数组 ('email' =>.....); 它奏效了。

任何帮助表示赞赏:)

0 投票
1 回答
73 浏览

php - Cartalyst Sentinel - 记录事件(正确的方法是什么)

在 Sentinel 中记录每次注册和登录尝试的正确位置在哪里?

我正在寻找存储:状态(成功与否)、时间戳、IP、HTTP 用户代理、HTTP 接受语言。

我曾考虑将它们放在 IlluminateUserRepository.php 中的函数 recordLogin 和 create 中,但我不确定这是否是正确的方法。

0 投票
1 回答
1271 浏览

laravel - Laravel 和 Sentinel:混合角色中间件进行授权

我是 Laravel 新手(非常新手),在 Laravel 5.2 上使用 Cartalyst Sentinel 来利用角色授权。

在管理部分,我有三个(或更多)角色,即“管理员”、“代理”和“作者”。

我也有一些部分应该具有混合角色访问权限,例如:

  • 仪表板(所有角色均可访问:管理员、代理、作家)
  • 用户(可访问:管理员)
  • 订单(可访问:管理员、代理)
  • 页面(可访问:管理员,作家)
  • no_admin_here(可访问:代理,作家)

目前我设法让它只处理两个角色,但现在我被卡住了。

到目前为止我所做的(我只放了必要的代码):

路由.php

SentinelCheck 中间件(在 Kernel.php 中命名为“检查”)

SentinelAdmin 中间件(在 Kernel.php 中命名为“admin”)

SentinelAgent 中间件(在 Kernel.php 中命名为“代理”)

正如我所说,到目前为止一切都很好,但是当我尝试混合角色时,事情就搞砸了;即我不能写这样的路线:

因为“代理”永远不会到达该部分,因为“管理员”中间件会阻止并注销他。而且,同样,我不能将所有其他角色混合在一起:

ETC..

那么,是否有一种(简单的)方法可以轻松混合角色对部分的访问?在此先感谢您的帮助

0 投票
1 回答
650 浏览

laravel - Laravel Sentinel 使用 Webview 应用程序登录

我有一个使用 Laravel 5.1 构建的 Web 应用程序。

我在前端为 webview 应用程序打开了一个 POST 路由。

这是我的应用登录功能:

但是,当我在成功请求后将移动用户重定向到主页时,用户未登录。

有趣的是,当我关闭并重新打开应用程序时,用户已登录。

有任何想法吗?

更新:我发现当我在 Session 中加入登录信息时,它不会出现在 Session 中。但是当我关闭应用程序并重新打开时,会话恢复了。

0 投票
1 回答
225 浏览

php - 在运行时实现接口 PHP

嗨,我正在使用 slim 和 cartalyst\sentinel 开发登录应用程序。当我创建哨兵提醒的新实例时, $reminder = new Cartalyst\Sentinel\Reminders\IlluminateReminderRepository;它会给出一个错误来实现 UserRepositoryInterface error __construct() must implement interface Cartalyst\Sentinel\Users\UserRepositoryInterface

我的问题是如何在 php 中实现运行时接口。

而在上面我使用了激活类,它也在 src 代码中实现了一个接口,class IlluminateActivationRepository implements ActivationRepositoryInterface但它不会给出错误。

下面的激活类工作正常。