2012-03-05 29 views
1

当用户通过SecureSocial模块中的某个提供程序登录时,控制权是否从SecureSocial返回到任何用户编写的控制器?使用securesocial模块登录后的入口点

成功登录后,如果需要更新本地数据库并且需要渲染不同的视图,那该如何实现?

谢谢

回答

1

当用户通过验证,它会调用你的UserService.save()方法实现。此时,您可以保存/更新或在数据库中执行任何所需的操作。

从重定向开始,SecureSocial的工作方式是拦截对使用SecureSocial.class注释的控制器的请求。 SecureSocial将重定向到用户在进行身份验证之前尝试访问的网址。如果您有其他需求,可以在自己的控制器中添加一个@Before拦截器,并决定从那里开始做些什么。

希望这会有所帮助。

+0

谢谢豪尔赫。 我能够在控制器中获取基于拦截的控件。然后我检查用户是否存在,然后如果新用户更新数据库。 但是我不明白需要实现的.save()。我们是否需要创建一个扩展securesocial.SecureSocial的类? – 2012-03-08 00:30:57

+0

如果你打算坚持用户,你需要提供你自己的UserService.Service接口的实现。 SecureSocial附带一个默认实现,它只将内容存储在内存中,不适合生产环境。请查看UserService.Service接口的javadoc以获取更多信息。 – Jorge 2012-03-08 00:44:21

+0

@Jorge你能否提供一些示例代码来保存用户可以在h2浏览器中看到的h2内存数据库? – 2012-11-07 08:08:33