Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails2.2.3-如何创建新的HTTP会话?_Grails_Httpsession - Fatal编程技术网

Grails2.2.3-如何创建新的HTTP会话?

Grails2.2.3-如何创建新的HTTP会话?,grails,httpsession,Grails,Httpsession,我正在创建一个web项目,在这个项目中,我必须使用自己的身份验证实现(是的,我完全知道这不是推荐的,但我必须这样做……)。现在,我想在身份验证成功后为登录用户创建一个新的HttpSession,但是如果没有后面的Spring安全插件,我找不到任何类似的源代码。。。为用户创建新的HttpSession背后的魔力是什么 因此,我想要实现的是以下场景 登录页面(用户已拥有会话id的会话)--->用户登录-->检查登录凭据并使用新会话id创建新会话(如果登录成功-->使用登录用户的新会话) 我希望有人能

我正在创建一个web项目,在这个项目中,我必须使用自己的身份验证实现(是的,我完全知道这不是推荐的,但我必须这样做……)。现在,我想在身份验证成功后为登录用户创建一个新的
HttpSession
,但是如果没有后面的Spring安全插件,我找不到任何类似的源代码。。。为用户创建新的HttpSession背后的魔力是什么

因此,我想要实现的是以下场景

登录页面(用户已拥有会话id的会话)--->用户登录-->检查登录凭据并使用新会话id创建新会话(如果登录成功-->使用登录用户的新会话)


我希望有人能帮我,因为我真的需要它;)

在控制器中,您不能执行以下操作吗

// get rid of any existing session
session().invalidate()
// create a new session
request.session(true)

(我还没有检查这方面的语法…..我通常使用Java,所以很可能是错误的,但你明白了)

在你的控制器中,你不能执行类似的操作吗

// get rid of any existing session
session().invalidate()
// create a new session
request.session(true)

(我还没有检查这个语法…..我通常使用Java,所以它可能是错误的,但是你明白了)

不确定你是否真的想要这样做,但是你可以在会话中将userId设置为:session[“id”]=并且可以在过滤器上对会话执行检查,排除登录控制器,或者只是auth操作(如果您有这些用于登录->身份验证操作的名称)@SaurabhDixit感谢这个想法,但我认为我不能使用它,因为我在每次会话中创建一个用户对象,并在注销时销毁会话,但我希望能够让用户启动另一个应用程序并使用不同的会话,这样我就可以为随后启动的应用程序创建一个新用户……希望这听起来不太奇怪,但它是基本的我想实现什么;)不确定你是否真的想要这个,但是你可以在会话中设置userId为:session[“id”]=并且可以在过滤器上对会话执行检查,排除登录控制器,或者只是身份验证操作(如果你有登录->身份验证操作的这些名称)@saurabdixit谢谢你的想法,但我认为我不能使用它,因为我在每个会话中创建一个用户对象,并在注销时销毁会话,但我希望能够让用户启动另一个应用程序并使用不同的会话,以便我可以为随后启动的应用程序创建一个新用户。。。希望这听起来不太奇怪,但基本上就是我试图实现的;)它的工作-非常感谢!现在只剩下一个问题:我为每个用户创建一个会话范围的服务,但是如果我在注入的
会话
对象或请求上调用
会话
无效。会话对象,我的服务似乎也会被破坏。。。似乎我必须将这些东西从我的服务类转移到另一个会话范围的bean或类似的东西中……我认为您不应该将注入的会话和request.session视为不同的东西。上面的代码所做的是销毁一个会话并创建一个新会话。从您对上面@SaurabhDixi'd评论的回复来看,我认为您可能试图以一种不应该在中使用的方式使用会话。为同一用户同时运行两个会话是不常见的。这很有效-非常感谢!现在只剩下一个问题:我为每个用户创建一个会话范围的服务,但是如果我在注入的
会话
对象或请求上调用
会话
无效。会话对象,我的服务似乎也会被破坏。。。似乎我必须将这些东西从我的服务类转移到另一个会话范围的bean或类似的东西中……我认为您不应该将注入的会话和request.session视为不同的东西。上面的代码所做的是销毁一个会话并创建一个新会话。从您对上面@SaurabhDixi'd评论的回复来看,我认为您可能试图以一种不应该在中使用的方式使用会话。为同一用户同时运行两个会话是不常见的。