gpt4 book ai didi

netty - 向 netty telnet 示例添加身份验证

转载 作者:行者123 更新时间:2023-12-04 18:23:57 27 4
gpt4 key购买 nike

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .




10年前关闭。




我对 Netty 和 Java 完全陌生,但是今天下午我设法创建了一个基于 Netty telnet 示例的聊天服务器。它工作得很好,我有'/'斜杠命令工作,所以人们可以做一些事情,比如设置他们的名字,我目前存储在 ctx->setAttachment(name) 中。

我有一个后端数据库服务器,我想将它们连接起来,这样我就可以通过这种方式获取它们的名称,但我需要先为每个用户添加身份验证。我知道我可以用更多的斜杠命令来做到这一点。但我想看看是否可以使用事件链中的处理程序来做到这一点。有一个处理程序来检查用户是否经过身份验证,如果没有,则执行验证他们的逻辑。然后以某种方式存储它们经过身份验证。如果他们通过了身份验证,它会让我当前的聊天处理程序代替它工作。

谁能提供一些这样做的链接或提示?我现在对 Netty 的了解非常基础。提前致谢。

最佳答案

这真的取决于.. 例如,您可以有一个自定义的 SimpleChannelUpstreamHandler 来处理身份验证并在完成后将其删除。

像这样的东西:

public class AuthHandler extends SimpleChannelUpstreamHandler {

@Override
public void messageReceived( ChannelHandlerContext ctx, MessageEvent e) throws Exception {
if (auth(e)) {
// remove handler after auth was done
ctx.getPipeline().remove(this);
}
}

// Returns true if auth was successfully
private boolean auth(MessageEvent e) {
....
}
}

关于netty - 向 netty telnet 示例添加身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123588/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com