0

我有 3 个应用程序:后端、前端和成员。
我有 2 个凭据:管理员和成员。

默认情况下导入管理员,但在后端创建成员。
创建成员时,事件处理程序也会将该成员作为 sf_guard_user 插入,当然还有 sf_guard_user_group 和 sf_guard_user_permission 中的正确关系。

这是无聊的部分,现在很有趣:

前端不安全,但成员并使用这些凭据:[管理员,成员]。

根据这一切,在后端创建的成员也被插入(据我所知正确)应该能够登录到成员安全应用程序,因为他们获得了成员组/权限/凭据。

这不会发生,唯一可以登录到会员应用程序的是管理员,这没有错,但是正确创建的会员用户无法登录到它的事实也是如此。

守卫抛出的错误是经典的:用户名和/或密码无效。

现在我编辑了错误,我想到了盐:如何像警卫一样模拟盐的插入?也许这就是我没有正确插入(或根本没有插入),因此密码无效错误(实际上我描述的所有其他内容都可以!天哪)

这就是我的问题。

提前致谢 :)

4

1 回答 1

2

[administrator, member] 意味着两者都是必需的,我相信。

我认为您需要 [[administrator, member]] 来满足凭证要求。

另外,是的,您需要确保使用盐并设置算法。

    parent::_set('password', call_user_func_array($algorithm, array($salt.$password)));

密码前加盐也是如此。

于 2010-11-20T19:52:08.100 回答