【发布时间】:2016-04-21 04:34:41
【问题描述】:
我正在尝试编写一个 telnet 类型的程序来从 indy tcpserver 读取数据
我希望用户首先进行身份验证.. 这很容易.. 但问题是我在哪里保存这个身份验证结果,所以当客户端执行另一个命令时,我的 tcpserver 会知道这是一个经过身份验证的用户并相应地返回数据.
我希望我是具体的.. 抱歉我的英语来自委内瑞拉。
【问题讨论】:
标签: delphi authentication indy tcpserver
我正在尝试编写一个 telnet 类型的程序来从 indy tcpserver 读取数据
我希望用户首先进行身份验证.. 这很容易.. 但问题是我在哪里保存这个身份验证结果,所以当客户端执行另一个命令时,我的 tcpserver 会知道这是一个经过身份验证的用户并相应地返回数据.
我希望我是具体的.. 抱歉我的英语来自委内瑞拉。
【问题讨论】:
标签: delphi authentication indy tcpserver
Indy 9 中的TIdPeerThread 和 Indy 10 中的 TIdContext 都有一个 Data 属性,您可以在其中存储任何您想要的内容。
更好的选择是从TIdPeerThread/TIdServerContext 派生一个新类,根据需要将自定义字段/属性添加到该类,然后将该类分配给服务器的ThreadClass/ContextClass 属性.然后,每个命令处理程序都可以将提供的 APeerThread/AContext 对象类型转换为您的类类型以访问您的自定义数据。
您应该查看 Indy 自己的支持用户身份验证的组件的源代码,例如 TIdPOP3Server 和 TIdSMTPServer,以了解它们如何在命令之间保留身份验证数据。
【讨论】: