gpt4 book ai didi

java - 无论身份验证领域如何,都获取用户名

转载 作者:行者123 更新时间:2023-11-30 09:47:10 25 4
gpt4 key购买 nike

我正在 Metro 和 Tomcat 堆栈上用 Java 开发 Web 服务,我的问题是用户身份验证。我知道 Tomcat 可以使用多个外部身份验证领域,例如 JDBCRealm 或 JNDIRealm,我希望我的最终用户为他们各自的领域配置他们的 Tomcat 安装。

现在,我在我的网络服务方法中需要的是用户用于登录的用户名(或 ID,唯一的东西),而不管具体领域。我从哪里得到它?显然,到目前为止我搜索了错误的关键词 - 是否有我想要使用的概念的特定名称?

提前致谢!

最佳答案

登录用户可用 WebServiceContext#getUserPrincipal()返回 Principal实例又具有 getName()方法。

例如

@Resource
private WebServiceContext context;

@WebMethod
public String hello() {
Principal user = context.getUserPrincipal();
return (user != null) ? user.getName() : "(not logged in)";
}

这是从HttpServletRequest#getUserPrincipal()获得的顺便说一下。

关于java - 无论身份验证领域如何,都获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6824057/

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