Session 在grails controller中,来自单个android应用程序的每个请求的会话id都是不同的

Session 在grails controller中,来自单个android应用程序的每个请求的会话id都是不同的,session,grails,Session,Grails,Grails和android应用程序- 对于我从同一个android应用程序连续发送的每个请求(get或post),我在grails控制器中获得的会话id是不同的。我希望这次会议是一样的 Grails和Web- 如果我从web浏览器运行类似的请求,控制器中的会话id将保持不变 当我从android应用程序向grails服务器调用请求时,为什么会话id会发生变化?因为您的api是从web浏览器工作的,而web浏览器不使用ajax。而且你的Android应用程序不工作。那么,您的浏览器可能没有使用R

Grails和android应用程序- 对于我从同一个android应用程序连续发送的每个请求(get或post),我在grails控制器中获得的会话id是不同的。我希望这次会议是一样的

Grails和Web- 如果我从web浏览器运行类似的请求,控制器中的会话id将保持不变


当我从android应用程序向grails服务器调用请求时,为什么会话id会发生变化?

因为您的api是从web浏览器工作的,而web浏览器不使用ajax。而且你的Android应用程序不工作。那么,您的浏览器可能没有使用RESTAPI,而您的应用程序正在使用RESTAPI。Rest在默认情况下是无状态的,因此它不在Android上工作是有意义的。简而言之:当rest正常工作时,不应该使用会话ID

最常见的解决方案是在客户端维护状态,并在每次请求时将其传输到服务器。你可以阅读更多关于这方面的内容


在Grails方面,您可以确保获得了适当的rest实现,如前所述。

因为您的api在web浏览器中工作,而web浏览器不使用ajax。而且你的Android应用程序不工作。那么,您的浏览器可能没有使用RESTAPI,而您的应用程序正在使用RESTAPI。Rest在默认情况下是无状态的,因此它不在Android上工作是有意义的。简而言之:当rest正常工作时,不应该使用会话ID

最常见的解决方案是在客户端维护状态,并在每次请求时将其传输到服务器。你可以阅读更多关于这方面的内容


在Grails方面,您只需确保获得了适当的rest实现,如前所述。

Android应用程序是否会随请求一起发送会话cookie?否,Android应用程序不会发送任何cookieOK。这就是你问题的根源。应用程序是否使用rest api与Grails通信?是的,我们使用rest api与Grails通信。web浏览器是否也使用相同的rest api?我的意思是,它是否使用对同一RESTAPI的Ajax调用?Android应用程序是否随请求一起发送会话cookie?不,Android应用程序没有发送任何cookieOK。这就是你问题的根源。应用程序是否使用rest api与Grails通信?是的,我们使用rest api与Grails通信。web浏览器是否也使用相同的rest api?我的意思是,它是否使用对同一RESTAPI的Ajax调用?