getUserPrincipal() 是如何工作的?我应该什么时候使用它?

How does getUserPrincipal() work? When should i use it?

我对 Java EE 有点陌生,正在尝试学习它。所以我不清楚 request.getUserPrincipal() 究竟是如何工作的。它从哪里得到 Principal 对象?这个对象是何时以及如何创建的?

所以让我们假设我有一个登录表单,它在 HTTP POST 请求中传递用户名和密码。在我的 servlet 中,我必须获取这些数据并将其与数据库中的记录进行比较。如果找到一个,用他的名字和一些其他数据创建用户对象。在这种情况下,我什么时候需要调用getUserPrincipal()?我真的需要调用它吗,因为已经有一些 return 用户对象的逻辑?这个方法如何为我获取 Principal 对象?

request.getUserPrincipal() 将在您使用容器管理的身份验证时填充。由于您已经实现了自己的身份验证,该方法将 return null 并且可以安全地忽略。