当前位置: 首页 > 面试题库 >

通过Servlet和JSP寻找简单,安全的会话设计

廉实
2023-03-14
问题内容

我正在开发仅需要一些基本安全html" target="_blank">功能的仅Intranet的Web应用程序(J2EE)。该站点的授权用户将相对较少,但是我仍然需要实现某种安全的会话。

我正在查看的基本流程是访问站点=>登录=>使用站点=>完成后注销(或在关闭浏览器时自动注销)。一点也不花哨,登录时甚至没有“记住我”选项。身份验证的大部分工作已经完成-
该站点只能通过https访问,并且我有一个存储用户名和(加密)密码的数据库。

因此,一旦用户登录,实现安全会话的最简单的方法(理想的是,除了在后台的JBoss /
JSP之外,没有cookie)。IE阻止用户仅直接请求登录屏幕之外的页面,等等。

只是检查会话中是否存在一些类似于“
isUserAuthenticated”的值,并检查request.getSession(false)Servlet中所有传入请求的会话是否存在(例如)就可以了吗?如何阻止用户获取JSP文件并强迫他们对所有请求使用servlet?还有其他考虑事项(及其解决方案)吗?


问题答案:

听起来您可以使用简单的声明式安全性方法。

查看“ 确保Web应用程序安全的
Java EE教程”部分,尤其是“
声明式安全性”部分。

要解决您的特定问题:

实施安全会话的最简单方法是什么?IE阻止用户仅直接请求登录屏幕之外的页面,等等。

使用适当的安全角色在webapp描述符(web.xml)中声明您的URL。未经授权的用户将无法访问它们(尝试访问它们将显示登录页面)。

只是检查会话中是否存在一些类似于“
isUserAuthenticated”的值,并检查该servlet中所有传入请求的会话是否存在(例如request.getSession(false))?

所有这些都是完全不必要的;servlet容器将在后台为您完成。

如何阻止用户获取JSP文件并强迫他们对所有请求使用servlet?

只要不再需要公开访问JSP(例如,从Servlet内部将其转发给它们;再也不会 重定向
至JSP),就可以在具有安全角色的集合中声明其URL,而该角色实际上从未分配给用户。



 类似资料:
  • 问题内容: 我是spring-security(Java)的新手,我正在寻找以下示例的简单示例: 如何使用Spring Security进行登录和注销 确保会话存在于每个页面上,如果没有,则再次重定向到登录名 如何获得对当前用户会话的访问权限 我的项目目前正在使用Spring MVC,并处于hibernate状态。 我已经构建了loginAPI + loginDAO,现在我需要结合安全性并确保某些

  • 本文向大家介绍jsp登录会话的简单实现,包括了jsp登录会话的简单实现的使用技巧和注意事项,需要的朋友参考一下 jsp登录会话的简单实现 以上就是小编为大家带来的jsp登录会话的简单实现全部内容了,希望大家多多支持呐喊教程~

  • 问题内容: 我想在jsp中创建一个简单的计算器。将有两个用于数字的文本框和一个添加按钮。理想情况下,我希望答案不重新加载就显示在页面中,但是从我得到的答案来看,它似乎对我的规模来说太大了。我可以想到:1)将答案打印到第三个文本框(有可能吗?),或者以某种方式将答案与相同的页面(带有添加按钮和全部)一起加载(并能够输入不同的数字,依此类推) 。 您能建议一个好的方法吗? 问题答案: 对于我的规模来说

  • 我使用Spring boot和Spring security,以及Spring Session和redis进行身份验证和授权。有两个独立的项目正在运行,我想通过HTTP

  • 问题内容: 已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 用PHP维护负责的会话安全性有哪些准则?网络上到处都有信息,现在是时候将它们全部集中在一个地方了! 问题答案: 为了确保会话安全,需要执行以下几项操作: 对用户进行身份验证或执行敏感操作时,请使用SSL。 只要安全级别发生更改(例如登录),就重新生成会话ID。如果愿意,您甚至可以为每个请求

  • 我回来时问了同样的问题,但这次有更多的记录。我有一个包含许多servlet和JSP的web应用程序。应用程序有一个登录选项。在登录servlet中,我启动一个新会话,在会话中放置一些信息后,我转到一个JSP。 登录。java相关代码: 转发后,我得到一个名为Insert.jsp的Jsp页面,在那里我得到会话属性。 插入jsp相关代码: 在这之后,我有一个表单将我引导到servlet Adaugar