首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >zend中的多用户密码相同

zend中的多用户密码相同
EN

Stack Overflow用户
提问于 2009-10-19 11:12:32
回答 2查看 156关注 0票数 0

我在zend框架中有以下场景:

学生数据表班级表,每个班级包含多名学生。分配表,每个分配表被分配到一个类,并给出一个口令

我希望学生能够在给定作业id和共享密码的情况下访问作业,但要让应用程序记录是哪个学生登录了作业。然而,Zend_Auth希望一个表同时包含用户名和密码,但在我的情况下,用户名在students表中,密码在assignments表中。

谁能建议一个好的方法来处理学生登录,他们都可以共享一个密码。一种只使用用户名而不使用密码进行身份验证的方法是可行的,因为这样我就可以在一个单独的条件中进行密码检查。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-19 14:18:17

我认为你最好的选择就是编写你自己的适配器。像这样的东西很可能会起作用:

代码语言:javascript
运行
复制
class MyAuthAdapter implements Zend_Auth_Adapter_Interface
{
    protected $_username;
    protected $_password;
    protected $_assignment_id;

    /**
     * Sets username, password, and assignemnt ID for authentication
     *
     * @return void
     */
    public function __construct($username,$password,$assignment_id)
    {
        $this->_username = $username;
        $this->_password = $password;
        $this->_assignment_id = $assignment_id;
    }

    /**
     * Performs an authentication attempt
     *
     * @throws Zend_Auth_Adapter_Exception If authentication cannot
     *                                     be performed
     * @return Zend_Auth_Result
     */
    public function authenticate()
    {
        // logic here to check everything out and erturn a new Zend_Auth_Result     
    }
}
票数 1
EN

Stack Overflow用户

发布于 2009-10-19 11:36:14

共享密码是一个非常糟糕的主意。如果您共享密码,那么另一个学生只需要学习一个id --通常不是高度安全的信息--就可以像另一个学生一样访问资源。更好的解决方案是使用角色来控制对作业的访问,并将需要访问作业的学生放在该角色中。这样,每个学生仍然可以访问作业,并保留自己的id/密码对。有关roles and how to use them的信息,请参阅Zend文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1588114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档