session.isNew()是否是一种安全的方法来检查用户是否已被授权位于java和spring页面上

session.isNew()是否是一种安全的方法来检查用户是否已被授权位于java和spring页面上,java,spring,session,Java,Spring,Session,我只想再次检查以确保允许用户访问页面 之前,我一直在从会话中提取用户名,并查看该值是否为null。这很好,但我只是想知道isNew()是否会有相同的结果,或者是否有某种原因,用户可能拥有伪造的或以前的会话 从阅读有关该方法的文章中,我觉得使用这种方法会很好,但我想确保我没有遗漏什么 我在后面用Java进行验证。前端也将使用JS进行自己的验证,我想这只是一个额外的检查 谢谢 在阅读一些书籍,如PHP Hacks和Web Site cookbook以及MySQL时,他们的共同策略是,客户端可以访问的

我只想再次检查以确保允许用户访问页面

之前,我一直在从会话中提取用户名,并查看该值是否为null。这很好,但我只是想知道isNew()是否会有相同的结果,或者是否有某种原因,用户可能拥有伪造的或以前的会话

从阅读有关该方法的文章中,我觉得使用这种方法会很好,但我想确保我没有遗漏什么

我在后面用Java进行验证。前端也将使用JS进行自己的验证,我想这只是一个额外的检查


谢谢

在阅读一些书籍,如PHP Hacks和Web Site cookbook以及MySQL时,他们的共同策略是,客户端可以访问的每个页面都应该检查有效的会话ID、服务器事件序列ID、用户站点状态和用户角色。
站点状态(在SQL server中)通常为:“是所有者”、“是创建者”、“是管理员”、“是成员”、“是新的”、“是挂起的”、“是禁止的”。
“角色”的条目是类似的,但属于成员角色。
如果会员退出暂停,他们可能会恢复其身份和角色。
角色可以是:“是所有者”、“是创建者”、“是主管”、“是经理”、“是老板”、“是工人”等。
每个页面根据数据库检查这4个类别,以确保数据包未被劫持,或排名突然上升,或在被禁止时再次成为成员。
这不包括其他字段,如查看或加入聊天或群组的权限,但如果该页面提供该选项,则需要首先与数据库确认该选项。

在授予客户端访问权限之前,访问页面的步骤可能涉及多个查询页面。检查一个项目以授予对所有项目的访问权限是自找麻烦。

否。如果您在站点上的第一个操作是浏览该页面,则会话将是新的。你为什么不使用CMA呢?那么这难道不会达到预期的效果吗?用户将浏览到页面,会话将是新的,我将检测到它是新的,不允许他们进入页面。我使用CMA是因为我不知道它是什么。在这里学习。容器管理的身份验证。您可以告诉servlet容器您的角色是什么,每个用户在哪里可以找到它们,以及哪些页面需要哪些角色。主要在
web.xml
中完成。您不应该尝试自己使用它。如果您使用的是Spring,我会检查Spring Security,它具有内置的CSRF过滤器、会话固定保护以及授权和身份验证。@John正在研究Spring Security,谢谢!我同意上面的EJP。你有一个庞大的项目,所以你需要为页面和数据库管理定制软件,以保持一切井然有序。你应该考虑雇用帮助,所以这不是一个5年的项目。