草庐IT

session-hijacking

全部标签

java - 每个用户只允许一个 session

我们有一个使用struts2、spring和hibernate开发的网络应用程序。该应用程序需要一个用户只能从一个浏览器登录的功能。假设用户x在pc-1浏览器ff上登录,那么他无法从任何其他地方登录。我尝试通过实现session映射并将session存储在全局映射中,但是当用户注销并尝试再次登录时这会失败。如果用户没有注销和session超时,即使它严重失败,但map没有被清除。实现此功能的任何更好的想法。我们不想阻止用户登录,但也不希望用户通过允许他共享信用信息并允许多个用户使用同一登录来利用该应用程序。 最佳答案 由于您已经在使

java - 在 Controller 中获取 Spring boot/security 的 session token

我们正在使用带有springsecurity的springboot来实现一个查询接口(interface)。我想要做的是只允许每个用户一次运​​行固定数量的查询。查询可能需要很长时间,用户发送重复请求的速度可能快于我们的响应速度。我希望Controller一次只计算一个子集请求,并且我必须实现一些逻辑来确定要响应哪些请求。为此,我需要知道给定用户的sessiontoken。有没有一种简单的方法可以在Controller的方法中获取它? 最佳答案 如果你想在Controller中获取sessionId,你可以使用RequestCont

java - 使 spring 安全 session 无效

我需要使(或踢)用户session无效。该应用程序仅限制用户登录每个容器只有一个用户。我尝试从session注册表中调用removeSessionInformation,它已完成以解锁用户。这样其他用户就可以使用被踢session的用户名登录。但被踢出的用户的SessionContextHolder仍然存在。所以他们仍然有相同的权限访问protected页面。如何从指定的session注册信息中使SessionContextHolder的Principal失效或移除?ps:在我的旧应用程序中,我在UserDomain(UserDetails)中提供了一个变量来保存HttpSession

java - Struts 2 session 超时

我是struts的新手。我正在使用Struts2。请任何人告诉我如何在session超时后自动重定向jsp页面。 最佳答案 好吧,您需要创建一种方法来检查session是否已过期,因为浏览器无法确定session是否已过期。您需要执行以下步骤在您的web.xml中定义session超时。30围绕Struts2的一个简单方法是创建一个Interceptor并检查session有效性,如果session已过期,您可以将用户重定向回您指定的jsp页面。这是示例拦截器的快速View拦截器publicclassSessionIntercept

java - 没有可用的事务性 EntityManager - 使用 JPA Api,Hibernate Session 出错

我正在尝试从注入(inject)的EntityManager中解包HibernateSession,因为我需要使用Hibernate的nativeCriteriaAPI。当我尝试使用Criteria时出现以下异常:Causedby:java.lang.IllegalStateException:NotransactionalEntityManageravailableatorg.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEnti

java - Spring-Hibernate - 没有找到当前线程的 session

我有一个使用spring和hibernate的javastuts2web应用程序。我收到org.hibernate.HibernateException:NoSessionfoundforcurrentthread。SpringBean.xmlorg.hibernate.dialect.MySQLDialecttrueupdatehibernate.cfg.xml-->hibernate.cfg.xmlCustomerServiceImpl.javapackageorg.rohith.service.impl;importorg.rohith.dao.impl.CustomerDaoI

java - Spring 中 session 过期的监听器

我是springsecurity的新手,并使用它进行身份验证。我面临的问题是,当浏览器关闭或出现任何异常故障时,session会过期,但我无法捕获该事件以执行清理代码。我对此进行了探索,并在Spring中找到了HttpSessionEventPublisher以在sessionDestroyed()方法中捕获HttpSessionDestroyedEvent但是当我关闭浏览器时不会调用它。请求提出相同的解决方案。 最佳答案 也许SessionManagementFilter有帮助?或者您可以将SpringSecurity配置为在发生

java - 匿名用户的 Tomcat/spring session 管理

我有下一个用例:我们有网上商店,用户可以在其中选择一些商品然后购买。他可以在登录应用程序之前将商品添加到购物车。所有这些项目都必须存储在他的session中。当用户点击“支付”按钮时,我们将询问他的凭据/卡/等。我的问题:当我在将商品添加到购物车之前登录时,一切正常。但是当我尝试以匿名用户身份将商品添加到购物车时,商品没有存储。以匿名用户身份刷新每个页面后,我总是收到不同的JSESSIONID。我决定创建简单的应用程序来说明我的问题。我认为没有我的消息来源无法修复它。这是我的申请:https://github.com/AlexTestAccount/simple_test很简单。它只包

java - JTApi如何使用介入(Barge)创建 session

我们有2部思科电话:一部用于调用经理,另一部用于他的主管。我们需要在经理接听电话并将主管的电话设为静音时创建session。我们正在尝试使用JTApi来实现它:WAITING事件TermConnActiveEv,然后尝试创建session。这是代码示例。if(callEvinstanceofTermConnActiveEv){CiscoCallthisCall=(CiscoCall)callEv.getCall();TerminalConnectionconnection=((TermConnActiveEv)callEv).getTerminalConnection();if(thi

java - session 事务消费者或生产者中的消息代理异常处理

我想使用SAGA我的SpringBoot微服务中的模式。例如,在客户订单中,当订单创建时,会产生一个类似OrderCreatedEvent的事件,然后在客户微服务中OrderCreatedEvent上的监听器更新客户信用并产生CreditUpdateEvent和...。我使用session事务处理JmsTemplate来生成事件。在JmsTemplate的javadoc中表示JMS事务在主事务之后提交:ThishastheeffectofalocalJMStransactionbeingmanagedalongsidethemaintransaction(whichmightbeana