问题标签 [stateless-session]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1010 浏览

hibernate - StatelessSession 被强制转换为 AbstractEntityPersister (Hibernate) 中的 Session

我正在尝试对 StatelessSession 进行简单的保存。有人可以发现我做错了什么,最终导致 Hibernate 方法尝试对 Session 进行无效的 StatelessSession 强制转换。我将不胜感激任何反馈。

我的示例代码: StatelessSession statelessSession = getSessionFactory().openStatelessSession(); Transaction tx = statelessSession.beginTransaction(); Object ret = null; try { ret = statelessSession.insert(obj); tx.commit(); statelessSession.close();
} catch (Throwable t) { System.out.println("exception: " + t.getMessage()); tx.rollback(); } return (T) ret;

异常发生在 .insert(obj) 调用上。跟踪代码使我进入了 AbstractEntityPersister 类,该类尝试在此方法中将该 StatelessSession 转换为 Session:

这是一个堆栈跟踪:

0 投票
1 回答
618 浏览

spring-boot - AuthenticationProvider 中的重复会话创建和重复线程?为什么?

所以我有一些 Spring Boot 安全代码,尽管出于某种原因,我的 STATELESS Angular 应用程序发送了一个 GET 请求。Spring Security 似乎收到了两个请求,并在两个线程上以相同的毫秒数开始处理它们(然后我最终得到了一个唯一的用户约束,因为它试图将相同的用户两次添加到数据库中)。

我的弹簧安全配置是否有问题,发生双重请求?Spring Security 应该基本上检查来自无状态应用程序的所有请求以获取 X-AUTH-TOKEN。

基本上 HeaderAuthenticationProvider 和 HeaderAuthenticationFilter 用于检查 X-AUTH-TOKEN。

0 投票
1 回答
768 浏览

java - @Transactional 中的无状态会话

我目前在无状态会话中执行事务时遇到问题。

在服务层上,我使用@Transactional注释定义了事务(这是必需的,因为方法需要在一个事务中)。在我创建新实体的方法内Car。但是,我还必须像这样在无状态会话中的底层方法中创建自定义事务(它是为了性能而完成的)

问题是实体CarRequirements有实体的外键Car。因此,当我尝试提交底层事务时,会发生异常,因为显然Car实体尚未提交到数据库。

有没有办法推迟底层事务的提交或Car实体的强制提交?

0 投票
0 回答
89 浏览

rest - 如何防止在 REST API 无状态的每个请求上发送登录名/密码?

一个 RESTful API 需要是无状态的,所以我们不能在服务器端保存上下文数据。但是,出于安全原因,我不想在每个请求上发送登录名/密码。所以,我想知道下面描述的方式是否尊重REST的文章«5.1.3 Stateless»。

首先,客户端发出认证请求,返回用户的ID和保存在服务器端的随机授权令牌。

然后,对于下一个需要认证的请求,例如更新用户配置文件,客户端发送所有必要的信息,包括参数中的用户 ID,并在请求的头部放入授权令牌。

在服务器端,我们检查标头中的授权令牌是否正确、未过期以及是否与请求参数中设置的用户 ID 相关联。

谢谢你的帮助 !

PS:我知道还有另一种解决方案,例如 JSON Web Token,但这不是我的问题 :)

0 投票
1 回答
159 浏览

express - 无状态会话 api 请求

我正在构建一个使用 JWT 进行身份验证的简单应用程序。但是我不断收到错误消息,说明我GET需要回调函数的路线。

我期待什么?

我应该取回当前用户的数据。

我实际上得到了什么?

错误:Route.get() 需要回调函数,但得到了 [object Object]

路线:

模型:

中间件:

控制器:

0 投票
1 回答
731 浏览

hibernate - Hibernate Stateless Session批量插入关联实例的有效方法

我正在尝试使用 Hibernate 无状态会话进行批量插入

批量插入测试代码:

有什么方法可以跳过从数据库加载发布者并提高处理性能?(所有发布者都已存在于表中)。

0 投票
0 回答
428 浏览

spring-security - 具有无状态会话的 CAS 和 spring-security-cas

我目前正在处理一个使用无状态会话和基于JWT的身份验证和授权机制的 Spring 应用程序。

一个新的需求来了:使用 CAS v4.0 SSO 解决方案来替代认证系统。我浏览了CAS 文档spring 安全文档,并没有看到“无状态模式”的迹象。尝试将 spring 安全会话策略设置为无状态会破坏我的 CAS 集成。

我的直觉会告诉我完全放弃 JWT 机制并打开经典的基于 statefull 的 sessionid 模式以避免问题。是否有一些资源试图解决 CAS + 无状态客户端?有人有经验吗?

0 投票
1 回答
125 浏览

playframework - 在两个不同版本的 playFrameWork 之间共享会话

目前两个服务各自运行不同版本的play

他们都共享相同Secret Key和相同session domain

播放版本 2.2.6:

cookie 值示例:

b14219d56033ca9aa888a406b31872f5623b892f-myKey=myValue

播放版本 2.6.7

cookie 值示例:

eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7Imhhc2hlZE1haWwiOiIwN2Q3YzMwODFhYzk0NTljZTcxYmNhMzhhZjdiNjM5MSJ9LCJuYmYiOjE1MTkyMTI1ODMsImlhdCI6MTUxOTIxMjU4M30.eLJr0uQxo3CxSYewHcGbvSZh0IoFybolYa1gdawalyg

所以我有一个多部分的问题:

  1. 为什么会话存储的方式不同?在早期版本中,我可以看到每个键和值,而新版本是编码的。
  2. 会话机制是否兼容(即如何在它们之间使用会话值?)
0 投票
1 回答
4156 浏览

java - 当我的会话创建策略设置为 STATELESS 时,为什么 Spring Security 的 SessionManagementFilter 会运行?

我有一个使用 Spring Security 4.0.1.RELEASE 的基于 J2EE REST 的 Web 应用程序。我正在使用基于 Java 的配置配置 Spring Security,并将会话创建策略设置为 STATELESS,如下所示:

在阅读了这篇关于 Spring Security 会话管理的文章后,我认为SessionManagementFilter过滤器应该运行在 Spring Security 的过滤器链中。但这绝对是。我可以在该类的doFilter方法中设置一个断点,它会在对服务器的每个请求上运行。

这里发生了什么?这个过滤器正在运行的事实导致我的应用程序中出现了我认为已被配置掉的其他意外行为。

谢谢。

0 投票
0 回答
55 浏览

asp.net-mvc - 会话值如何在 Asp.net MVC 中得到维持,即使它是无状态协议?

Asp.net MVC 使用无状态协议,如果是,那么会话如何持续?以更好的方式解释它。我有两种这样的方法

  1. 现在,当我发出请求 home/index 并使用

HttpContext.Session.SessionID

我得到了这个 id “wfeprxbpbngr4jn24n1dttg1”,但是当我提出同样的请求时,我得到了一些其他的会话 id,比如“oaxw3g4f5felo2nr0ly15dn4”

  1. 如您所见,我在名为“somename”的会话中存储了一些值。现在,当我尝试访问会话时,我得到了存储在名为 Index 的方法中的值,即使很难,我也会为每个请求获得不同的会话 ID。

这怎么可能?