如何检查用户是否已在Servlet中登录?

萨蒂亚:

Java Servlet的我想编程方式检查用户是否登录没有

BalusC:

HttpServletRequest#getUserPrincipal()在其他的答案中指出,只有当你使用的Java EE提供的容器管理的安全性所概述适用在这里

但是,如果您自己发展自己的安全性,则需要依靠HttpSession并不难,这是您需要在每个步骤上实现的概述:

登录时,User从数据库获取并将其存储在Servlet的 会话中doPost()

User user = userDAO.find(username, password);
if (user != null) {
    session.setAttribute("user", user);
} else {
    // Show error like "Login failed, unknown user, try again.".
}

注销后,只需使servlet的会话无效即可doPost()它将破坏会话并清除所有属性。

session.invalidate();

要检查如果User是登录或没有,创建一个过滤器,其映射与url-pattern覆盖受限的页面,例如/secured/*/protected/*,等等并实现doFilter()象下面这样:

if (session.getAttribute("user") == null) {
    response.sendRedirect(request.getContectPath() + "/login"); // Not logged in, redirect to login page.
} else {
    chain.doFilter(request, response); // Logged in, just continue chain.
}

基本上就是全部。

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查用户是否登录

JSP:如何检查用户是否已登录?

如何反复检查用户是否已在Firebase身份验证中得到验证?

如何检查用户是否通过Facebook在Firebase Auth中登录

如何检查变量是否已在C中初始化?

如何检查azure活动目录用户是否已在申请中

在Treeline中,如何检查当前用户是否已登录?

检查用户是否已在客户端登录

如何检查用户是否已经登录?

Firebase:如何检查用户是否已登录?

如何知道用户是否已在Pyrebase和Flask中登录?

如何检查当前登录的用户是否在特定组中?

如何检查用户是否首次登录?

如何检查文件是否已在缓存中?

如何检查用户是否已登录Swift中的Google帐户?

使用laravel身份验证时,如何检查用户是否已在React组件中“登录”?

Worklight-jQuery移动版| 如何检查用户是否已在pagebeforeshow中登录?

magento如何检查用户是否在订单页面中登录

如何检查用户是否已在Facebook上共享链接

如何检查用户是否已在社交认证android中使用Facebook登录

检查用户是否在IOS中登录

如何检查用户是否可以登录CloudKit?

检查用户是否已在最近24小时内登录

如何检查特定用户在SQL中的特定登录名下是否存在某个用户?

检查用户是否已在Android SQLite中登录

如何检查用户是否已登录

检查用户是否已登录,然后检查用户是否已在选中单选按钮的情况下登录

我如何检查用户是否已登录?

如何检查项目是否已在 LocalStorage 中