草庐IT

interactive-session

全部标签

session - 您需要在 JWT 中设置过期时间吗?

如果我使用JWT和Redis的组合在我的应用中实现身份验证层来存储session数据,我是否需要在JWTtoken本身中包含过期时间?例如,当您登录应用程序时,会生成一个sessionID并添加到Redis数据库中,有效期为3天。然后该sessionID(连同用户名)用于创建JWT负载。在所有身份验证请求中,我确保token中的sessionID存在于redis数据库中。如果没有,则session已过期,我将颁发一个新token。此实现是否存在安全问题? 最佳答案 没有安全问题,但有人可能会争辩说,通过在JWT中包含一个过期字段,R

spring-security - 用户信息放在session的什么地方

我有spring引导代码来验证数据库的使用。它生成x-authtoken或session。外部redis服务器正在管理session,我将如何将用户信息放入session中,以便其他用户无法修改他们将被交叉检查的任何其他用户的数据session属于谁。这是代码片段:publicclassSecurityConfigextendsWebSecurityConfigurerAdapter{@AutowiredJdbcTemplatejdbcTemplate;@Overrideprotectedvoidconfigure(AuthenticationManagerBuilderbuilder

java - 使用 Redis 在 Spring Boot 中将对象添加到 Http Session 失败

当我尝试将对象添加到session中时,如下所示:HttpSessionsession=....MyObjectobject=....session.setAttribute("my_object",object);然后我得到一个异常:org.springframework.data.redis.serializer.SerializationException:Cannotserialize;nestedexceptionisorg.springframework.core.serializer.support.SerializationFailedException:Failedt

具有多个 Heroku Dynos 的 Django session

我在Django中构建了一个带有登录/注销功能的简单网站,并将其部署到Heroku。我正在使用内置的Django身份验证用户。我已经验证,当用户登录时,他们会看到一个个人资料页面,并且在刷新后他们会保持登录状态。当我将Heroku测功机的数量增加到超过1时,session不再持久。我的意思是,在用户登录后,一两次刷新后,用户将注销。我相信这是因为每个请求都转到一个特定的测功机,每个测功机都隔离地维护session状态?显然,当session仅在用户碰巧从正确的dyno请求时才有效时,我的网站无法运行。为了尝试解决这个问题并允许我的Django应用程序使用多个dyno,我使用了djang

session - 如何使用动态查询在 ASP.NET MVC 中查询 session

我想在内存中存储一​​些用户数据,比如一些内存中的noSQL数据库。但稍后我想使用从用户构造的动态查询来查询该数据。该查询像字符串一样存储在经典数据库中,因此当我需要查询存储在内存中的数据时,我想解析该字符串并构建所需的查询(通过一些已知规则)。我查看了Redis,发现它不再为Windows维护,我也查看了RavenDB,但它的主要查询语言是LINQ,尽管它可以创建动态Lucene查询。您能否向我推荐另一个与ASP.NET一起使用并且可以使用动态创建的查询进行查询的内存数据库?也许我还没有看到所有的选项。我更喜欢基于名称-值或JSON的noSQL,因此它的模式可以很容易地修改而不受数据

php - Laravel 4 Redis session 连接

我正在尝试使用LaravelRedissession驱动程序,问题是——它似乎总是假定使用“默认”连接。有谁知道是否可以使用不同的连接?例如“session”?所以我的所有session都在一台服务器上?此外,每当我在redis数组中没有“默认”键时,我到处都会遇到异常。我必须声明一个“默认”连接吗?有我自己的名字有什么错?例如 最佳答案 看起来没有一种简单的方法可以做您想做的事。基于Redis的session驱动使用基于Redis的缓存驱动:http://laravel.com/api/source-class-Illuminat

django - 用于 Django session 存储的 Redis 应该放在单独的服务器上吗?

我正在构建一个Django应用程序,它使用PostgreSQL进行数据存储,并使用带有DjangoRedis缓存的Redis进行Djangosession存储。我也将RQ用于异步作业队列。我已经构建了应用程序,以便我的PostgreSQL数据库驻留在单独的服务器上。我有两个问题:Redis和DjangoRedisCache是应该安装在我的Django网络服务器上,因为它们正在处理session存储,还是应该安装在我的数据库服务器上,因为它们提供类似数据库的功能?RQ应该安装在网络服务器还是数据库服务器上?我认为它应该与Redis安装在同一台服务器上,但我不确定。谢谢。

redis - 我应该如何使用 Redis 为用户存储多个 session ?

假设一个用户可以有多个session(JWTtoken)。最好存储一个hashet的token,其中key是userId吗?例如key:1->hashet:"token1","token2","token3","token4","moretokens..."然后要检查token是否有效,我会获取哈希集,遍历它并尝试匹配token?使用散列意味着我可以向用户显示当前session。 最佳答案 您可以使用SET存储token:以用户ID为键,将token列表存储到SET中(作为值),其中包含唯一元素。//insertsingletoke

java - 这些 spring session 键在 Redis 中代表什么?

我正在按照此tutorial将SpringSession、SpringSecurity与SpringBoot集成.该解决方案对我来说效果很好。它按预期将session保存到Redis。我很好奇这些键/值(例如过期时间、索引、session:过期时间)代表什么。有人知道吗? 最佳答案 RedisOperationsSessionRepositoryStorageDetailsSpringSession的引用手册的一部分深入介绍了与存储相关的实现细节。您可以在javadocofRedisOperationsSessionReposito

java - 如何使用 Spring session 和 Redis 在 JSON 中存储值?

默认情况下,使用Redis管理的Springsession将session值存储为Java序列化对象,即org.springframework.security.core.userdetails.User。但是我需要代替序列化对象将此数据存储在JSON中,以便在Node.js服务器中获取session数据。是否可以?我怎样才能实现它? 最佳答案 当您像这样定义一个bean(注意方法名称)时,spring将使用它来序列化session数据。@BeanpublicRedisSerializerspringSessionDefaultRe