问题标签 [zend-auth]
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.
php - 使用 zend_auth 的简单身份验证,独立于 Zend 框架的其余部分
我正在开发一个 php web 应用程序的登录系统。我知道滚动你自己的系统的危险,所以我希望使用某种预先构建的库。
我已经在几个地方看到了 zend_auth 推荐。我还听说 zend_auth 可以独立于 Zend 框架的其余部分使用。这将是可取的,因为我的应用程序不依赖任何框架,并且我不愿意纯粹为身份验证安装整个框架。
我以前没有使用 Zend 的经验,并且我发现手册中的文档有点混乱。我想知道:有没有人知道任何有助于解释如何建立一个基于 zend_auth 但不依赖于 Zend 框架其余部分的简单身份验证系统的资源?
谢谢你的帮助,
php - 使用 Zend Auth 和 Zend ACL 进行 PHP 单元测试
我有一个在登录后使用 zend_acl 和 zend_auth 的应用程序。
在预调度期间,我有一个 ACL 插件,可以为 ACL 创建所有规则。我还有一个 Auth 插件,用于检查您是否已登录,如果已登录,您是否可以根据 ACL 访问所请求的资源。
由于应用程序完全在登录之后,因此只有在您登录时才会创建 ACL。
单元测试这似乎是不可能的,或者更可能我错过了一些明显的东西。
在我的单元测试设置方法中,我模拟了返回 zend_auth 实例的成功登录。确实通过的测试表明此登录成功。
但是,如果我随后通过测试尝试分派到另一个位置,或评估登录用户是否有权访问给定资源,则插件始终拒绝它,因为他们仍未登录。我不确定这是为什么,有人可以建议吗?
例如,这通过:
这失败了,因为它被插件拒绝了:
我发现这似乎仍然重定向回登录页面,因为插件不知道用户已登录。
非常感谢任何帮助。
php - Zend_Auth:允许用户登录到多个表/身份
我正在使用Zend_Auth
Web 门户中的身份验证。
查询带有login
andpassword
列的普通 mySQL“用户”表,并且用户登录。
但是,我还有另外两组要进行身份验证的用户。所有这三个用户组在其他表中都有他们的登录数据。他们的数据来自外部来源,因此不需要将这些登录帐户统一为一个。
因此,一个用户可能同时是三个组中任何一个组的经过身份验证的用户,甚至是三个组中的任何一个。
三个登录组中的每一个都有自己的登录表单和注销按钮。
目前,我有一个简单的Zend_Auth
登录,取自一些教程并稍作修改,看起来大致如下:
我必须从哪里开始为这三个组提供服务并解决单独的“登录”状态?我的想法是我想共享会话,并分别管理身份验证。
这可能吗?也许有一个简单的前缀可以让这很容易?关于这个问题是否有任何教程或资源?
我是 Zend 框架的新手。
php - 在多个网站上签名
我有 2 个网站(example.com、ex2.com)。Fisical 是一个 1 分贝的 1 个站点。当用户在 ex2.com 中唱歌时,他也在 example.com 中唱歌。这是怎么做的?
PS 可以用 ZF 做到这一点吗?
我发现了一篇关于这个主题的非常有趣的文章。作者给出了一些如何实现多域认证的想法。 http://codeutopia.net/blog/2008/09/25/sharing-authentication-over-multiple-sites-single-sign-on/
php - 使用 Zend_Feed 创建安全的 rss 提要
我想知道是否有可能使用 Zend_Feed 创建一个 rss(或 atom)提要,该提要位于安全网站上(使用 Zend_Auth)。
用户如何能够订阅我的提要?feedreaders 将如何处理身份验证?是否有任何我应该注意的陷阱(我能想到的一个是使用 Outlook、IE 和其他工具进行提要的用户)?
希望我足够清楚。提前致谢!ps:我确实看到了这篇文章,但它是关于 .net 的,我看不出它是如何回答我的问题的。
编辑:如果它也适用于 Zend,我不介意这个问题的更一般的 php 答案。
php - 阅读 AuthStorage,Zend 框架
在我的项目网站上,用户可以登录并通过登录在我的网站上从一个页面移动到另一个页面。因此他们不必再次登录就可以移动到我页面上的另一个部分。为了实现这一点,我使用 Zend_Auth 的存储。
以下代码显示了我如何编写存储:
现在我尝试在另一个控制器中读取这个存储:
...但 $user 保持为空。任何想法如何解决这个问题?
php - Zend_Auth setCredentialTreatment
我正在使用Zend_Auth
withsetCredentialTreatment
来设置哈希方法和盐。我看到所有示例都在做这样的事情,其中salt
似乎是作为文本插入的。
->setCredentialTreatment('SHA1(CONCAT(?,salt))'
但我的盐存储在数据库中。我可以先检索它然后使用它,setCredentialTreatment
但是有没有一种方法可以直接将它定义为字段名称,以便setCredentialTreatment
知道从该字段中获取它?有点像我们为用户名或密码定义字段名的方式
我遇到的一个附带问题是我想使用 SHA512 而不是 SHA1。这是可能的还是不可用的?我看到的所有示例都使用 SHA1。
我应该说我对 zend 还很陌生,并且正在移植一个现有的应用程序,所以请不要轻易回答我。
php - 什么 PHP 框架提供了功能最丰富的身份验证和/或访问控制?
我目前正在探索Zend_Auth,它是Zend Framework的一部分,但我对缺少更高级的功能(例如随机数、身份验证令牌、锁定等)感到失望。在我最近的一个项目中,我实现了身份验证和 ACL(访问控制List) 方案具有以下特点:
- 盐渍哈希
- 自动 IP 地址锁定
- 随机数(几种类型)
- 身份验证令牌(在整个会话中持续存在)
如果我能抽象出这个功能并制作一个可重用的身份验证类,那就太好了,但我很好奇是否已经存在功能丰富的身份验证模块,所以我可以省去自己的工作。如果没有,我绝对会这样做。
我想我的问题是:您当前使用的是什么(基于数据库的)身份验证模块/方案,您对它的功能是否满意?具体来说,是否有人使用支持我上面列出的功能的产品?
我期待着您的回复。
php - Zend Auth 锁定会话
我几乎对 Zend 处理会话的方式感到沮丧。
这是我的情况。我编写了一个身份验证插件,该插件始终检查用户凭据是否使用 Zend_Auth。当从 zend auth 调用 hasIdentity 函数时,它会自动启动会话。
当我需要执行一个漫长的过程时,问题就来了。会话将锁定请求,直到请求完成。我尝试通过调用 Zend_Session::writeClose(false) 来释放锁,因此可以执行另一个请求。但我无法再次开始会议。
如果我尝试恢复已停止的会话,这是一个糟糕的实现吗?
从开始到请求执行结束只有一个会话?
谢谢。
ps:我可以在这里做一些小技巧。在 auth 插件结束时,我编写了一个原生 php 函数(session_write_close),如果任何控制器需要再次使用会话,我将使用(session_start)再次启动它。
php - Refactoring a Zend_Auth implementation
I am working on an existing project that has two areas that can be logged into. An admin section and the front end.
Currently the admin section has a login action and the front end has its own login action. Admin logs in using a database table specifically for admin accounts, the front end is logged in using a different table all together.
If the admin is logged in and tries to then log into the front end they are prompted to log in as a front end user (needed because front end users get completely different content based on projects they are associated with and admin is not associated with one particular project).
Once logged in as a front end user, their admin credentials are gone and they have to log in again if they try to reenter the admin section.
I want to make it so that the admin can be logged into the admin section AND log in as a specific front end user. Thus being able to switch back and forth between the two sections of the site without have to re-login.
What is the best way to handle this within the Zend Framework?
So far I am thinking of losing the separate login actions and having just one (there is no need for two, correct?) and then I have to deal with allowing separate credentials.
Currently, logging in as a front end user results in the admin user having to log back in to access the admin area. Is this because some $_SESSION credential is being overwritten? Do I need to somehow create a custom $_SESSION variable to handle this the ZF way?
Obviously I can't just directly assign a value to $_SESSION['front_end'] or $_SESSION['admin'] (which I would have done back in the day) so how would I do this within Zend Framework?
Thanks!