如何在Sails JS和Spring Boot之间共享Redis会话。 sails.sid是使用散列的密钥生成的。如何在spring boot app解码sails.sid?
答案 0 :(得分:0)
我希望我的问题正确。
最简单的解决方案(适合大多数情况) - 通过Redis密钥值共享密钥(nil
中的密钥)(可以在~ swift
Welcome to Apple Swift version 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1). Type :help for assistance.
1> let words = ["1989", nil, "Fearless", nil, "Red"]
words: [String?] = 5 values {
[0] = "1989"
[1] = nil
[2] = "Fearless"
[3] = nil
[4] = "Red"
}
2> words.flatMap { $0 }
$R0: [String] = 3 values {
[0] = "1989"
[1] = "Fearless"
[2] = "Red"
}
3> let resultTypeInferred = words.flatMap { $0 }
resultTypeInferred: [String] = 3 values {
[0] = "1989"
[1] = "Fearless"
[2] = "Red"
}
4> let resultTypeSpecified: [String?] = words.flatMap { $0 }
resultTypeSpecified: [String?] = 5 values {
[0] = "1989"
[1] = nil
[2] = "Fearless"
[3] = nil
[4] = "Red"
}
中完成)。如果Spring Boot可以访问Redis,它可以从中接收密钥。
可以通过其他方式的env变量在部署/启动过程中动态接收 - 例如从某种配置存储中提取。这意味着Sails不再持有它,并将在它的启动时接收它。
更复杂,最安全的解决方案(在某些情况下才真正有意义且有用,可能不适用于这种情况,但仍然存在这样的选项)是RPC到TCP / TLS。