gpt4 book ai didi

java - 如何在servlets中获取登录密码

转载 作者:行者123 更新时间:2023-12-04 06:56:05 27 4
gpt4 key购买 nike

我已经成功实现了基于表单的身份验证,现在我想从 servlet 获取用户名和密码来初始化 javamail 中的 session 对象。我怎样才能做到这一点?我可以通过 request.getRemoteUser() 方法获取登录用户名,但我不知道如何获取密码。

如果我创建任何 session 对象,如:

authentication = new PasswordAuthentication(user,password);
Properties props = new Properties();
props.put("mail.host", "localhost");
props.put("mail.debug",true);
props.put("mail.store.protocol", "pop3");
props.put("mail.transport.protocol", "smtp");
Session session = Session.getInstance(props, this);

那么如果我没有将任何密码从 servlet 传递给 PasswordAuthentication 对象,我如何根据特定的用户名和密码从邮件服务器获取收件箱消息?

最佳答案

Java EE/Servlet API 不允许这样做。您需要从与容器相同的用户密码源中通过用户名获取密码,或者将用户密码源外部化,以便容器和您的代码都可以使用它,例如数据库。使用“Realm”关键字检查相关容器的文档。由于您似乎使用 Tomcat(根据您的问题历史),here是一个 Tomcat 目标示例,例如查看 JDBCRealm .

关于java - 如何在servlets中获取登录密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2555917/

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