Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >zend中的多用户密码相同

zend中的多用户密码相同
EN

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

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

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 03:36:14

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

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

https://stackoverflow.com/questions/1588114

复制
相关文章
什么是uid?什么是Auth?什么是验证器?
什么是uid? UID,用户身份证明(User Identification)的缩写,网络平台注册时系统自动生成的数值。 什么是Auth? 它的身份,比较老板 员工 经理。。。。。 作用用于区
贵哥的编程之路
2022/07/04
3.5K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
首先gwt插件,小编这里上传了eclipse和浏览器上的gwt插件:http://download.csdn.net/download/csdnliuxin123524/10255451
全栈程序员站长
2022/08/05
1.2K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
身份验证器是如何验证我们的身份?
​ 我以为我最初遇见他是在宝塔面板上,因为他可以方便的帮助我们进行身份验证。其实我们早就相遇在QQ安全中心手机版的口令里面(此处不确定是否是使用同一种算法,不过原理类似)。当初遇见他,我并不知道他是离线的。我以为谷歌身份验证器肯定是绑定谷歌账号的。后来找了半天,原来他只是个离线的软件。相信有很多同学和我一样的想法:离线身份验证器如何能使我们登录在线的场景?
yumusb
2020/08/28
4.2K0
常见服务器对jdk版本的支持
WebSphere5.1:JDK1.4,Servelet2.3、JSP1.2 WebSphere6.0:JDK1.4,Servelet2.4、JSP2.0 WebSphere6.1:JDK5.0,Servelet2.4、JSP2.0 Tomcat4.1:JDK1.4,Servelet2.3、JSP1.2 Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0 Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0 Tomcat6.0:JDK5.0,Servele
西门呀在吹雪
2020/11/09
2K0
hibernate-笔记
什么是 hibernate 框架     1.hibernate 框架应用在 javaee 三次结构中 dao 层框架     2.在dao 层里面对数据库做curd 操作, 使用hibernate       做crud 操作, hibernate 底层代码就是jdbc, hibernate       对 jdbc 进行封装,使用hidernate 好处,不需要写复杂的jdbc 代码了,不需要写sql 语句实现。 什么是orm 思想     1.hidernate 使用orm 思想对数据库进行cru
用户1197315
2018/01/22
8960
hibernate-笔记
GWT 初体验
最近体验了一下 GWT(Google Web Toolkit),其实这个技术老早就有了,写 Java 代码,代码很像 AWT 或者 Swing,但是最后编译成一个 war 包,也就是说,没有啰嗦的 JavaScript、HTML 和模板语言,Java 从前到后通吃,常用的模块都被封装成组件了。虽说写起来代码还挺啰嗦的(写法上面居然不支持链式调用,这确实让我看不懂),而且也没有传统 Web 开发方式来得直观,但也算一种很有意思的开发方式,值得体验一下。网上有足够多的教程,要系统地学习,官方文档是最好的材料,非常详尽。而我的方式,则更具个人风格一点,比较+吐槽,这可不是教程。
四火
2022/07/18
1.1K0
GWT 初体验
什么是Soc验证,一个简单的uart验证实例
哈喽,我是不二鱼,感谢您的阅读。在上一篇文章中,我大概讲了什么是Soc,没看的朋友可以点开链接阅读一下。
用户10108023
2022/10/28
1.1K0
swift-annotations:java编译时警告主版本 52 比 51 新, 此编译器支持最新的主 版本。
本文介绍了在Java Bean代码中加入Swift注释时出现的警告问题,该问题会导致编译器版本比当前编译器版本高。在文章中提出两种解决方法:1.升级Java编译器到1.8;2.使用Swift-annotations 0.14.x版本。
10km
2018/01/03
3.4K0
kubernetes各个版本支持时间是多长?
Kubernetes发行版通常支持9个月,在此期间,如果发现严重的bug或安全问题,会在对应的分支发布补丁版本。 比如,当前版本为v1.10.1,当社区修复一些bug后,就会发布v1.10.2版本。
党志强
2020/02/11
8080
【GIT版本控制】--什么是版本控制
版本控制是在软件开发和许多其他领域中非常重要的工具,因为它解决了许多与协作、追踪更改和管理项目相关的问题。以下是一些主要原因,解释了为什么需要版本控制:
喵叔
2023/10/06
3140
Java中的 Switch 是如何支持 String 的?为什么不支持 long?
我们知道 Java Switch 支持byte、short、int 类型,在 JDK 1.5 时,支持了枚举类型,在 JDK 1.7 时,又支持了 String类型。那么它为什么就不能支持 long 类型呢,明明它跟 byte、short、int 一样都是数值型,它又是咋支持 String 类型的呢?
好好学java
2021/04/30
7390
Java中的 Switch 是如何支持 String 的?为什么不支持 long?
TestDriven.NET (2.7 Beta) 支持Silverlight/CoreCLR
Silverlight 1.1,在这个微软已经提供下载alpha版本中,包含了一个缩减版的CLR,还有最新发布的Dynamic Language Runtime (DLR)。Silverlight将被插入Internet Explorer、Mozilla和Safari浏览器中,这意味着缩减版的CLR也能够运行在这些平台上。 微软将这个缩减的CLR称为“Core CLR”(核心CLR)(这个核心CLR的代码代号是Tolesto,微软表示这恰巧是一个环绕土星的卫星的名字。)Core CLR将包含garbage
张善友
2018/01/30
5120
Selenium最新版本不再支持PhantomJS
今天想对《自动读取单位某系统数据》一文中的项目做些优化,将Selenium+firefox改为无界面的PhantomJS,出现如下错误:
拓荒者
2019/03/15
1.9K0
Insider 版本中的 SMB 身份验证速率限制器
嘿伙计们, 内德 又来了。我有一个新的 SMB 预览功能要分享:SMB 身份验证速率限制器。它在Windows Server Insider build 25075中可用。 几周后,它还将出现在 Windows Server Azure Edition Insider 和 Windows 11 Insider Dev Channel 版本中。你不需要做任何事情——它就在那里并且开箱即用——但我希望你想知道更多。
Khan安全团队
2022/03/17
7360
聊聊如何验证线上的版本是符合预期的版本
当我们想知道部署项目的哪个版本有问题?当我们想知道线上运行的版本是否是我们预期的版本?当我们想把部署的版本与代码进行关联?如果是你用git来做版本管理,那就可以使用git-commit-id-maven-plugin插件来实现上述功能。
lyb-geek
2022/05/03
5670
LiteAVSDK 迎来最新的 6.8 版本
该功能通过调用 ITXLiteAVNetworkProxy.h 中的 setSocks5Proxy 接口进行设置,可以参考 Socks5 代理服务器的的搭建方案:
腾讯云音视频
2019/11/22
2.8K0
LiteAVSDK 迎来最新的 6.8 版本
【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )
Android APT 学习进阶路径 : 推荐按照顺序阅读 , 从零基础到开发简易 ButterKnife 注解框架的学习路径 ;
韩曙亮
2023/03/29
3600
真香!IDEA 最新版本,支持免打扰模式!
IntelliJ IDEA 2020.1 的第二个早期访问版本已发布,新的 EAP 构建对调试器和事件探查器(Profiler)进行了改进,并引入了新的提交工具窗口(Commit toolwindow)以及禅模式(Zen Mode)。
芋道源码
2020/02/19
2.4K0
真香!IDEA 最新版本,支持免打扰模式!
点击加载更多

相似问题

使用散列和范围主键的性能: Dynamodb

20

通过散列和范围键查询DynamoDB表

10

NoSQL的用例

544

DynamoDB:搜索散列键或范围键

20

NoSQL技术、用例、优点和弱点

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文