Java getUserPrincipal()是如何工作的?我应该什么时候用?
我对JavaEE有点陌生,正在努力学习它。所以我不清楚Java getUserPrincipal()是如何工作的?我应该什么时候用?,java,authentication,servlets,jakarta-ee,Java,Authentication,Servlets,Jakarta Ee,我对JavaEE有点陌生,正在努力学习它。所以我不清楚request.getUserPrincipal()到底是如何工作的。它从哪里得到主要对象?何时以及如何创建此对象 所以让我们假设我有一个登录表单,它在HTTPPOST请求中传递用户名和密码。在我的servlet中,我必须获取这些数据并将其与数据库中的记录进行比较。如果找到用户对象,则使用其名称和其他一些数据创建用户对象。在这种情况下,何时需要调用getUserPrincipal()?我真的需要调用它吗,因为已经有一些逻辑返回用户对象了?以及
request.getUserPrincipal()
到底是如何工作的。它从哪里得到主要对象?何时以及如何创建此对象
所以让我们假设我有一个登录表单,它在HTTPPOST请求中传递用户名和密码。在我的servlet中,我必须获取这些数据并将其与数据库中的记录进行比较。如果找到用户对象,则使用其名称和其他一些数据创建用户对象。在这种情况下,何时需要调用
getUserPrincipal()
?我真的需要调用它吗,因为已经有一些逻辑返回用户对象了?以及该方法将如何为我获取主体
对象?请求。当您使用容器管理的身份验证时,将填充getUserPrincipal()
。由于您已经实现了自己的身份验证,该方法将返回null
,可以安全地忽略它。谢谢您的回答。我不知道容器管理的身份验证,所以现在我要读一些关于这方面的内容。然后还有一个问题:实现您自己的身份验证并使用它而不是容器管理的身份验证是一个好主意吗?一般来说,滚动您自己的安全功能实现比使用现有的具有可靠跟踪记录的实现风险更高。