3

大家好,我阅读了很多关于 Spring-Social 的信息,我有一个问题。SignInAdapter 的 signIn 方法中的参数“userLocalId”是什么?我通过 facebook 注册用户,方法是在注册表格中获取信息。在此之后,我希望他按下 signIn_button(facebook signIn) 并可以访问我的网站。

我应该做这样的事情:在 SignInAdapter 我连接到 facebook 并将它的社交信息与我的用户表中的字段进行比较?

4

1 回答 1

3

Spring Social Integration 包含 3 个部分。

  • 注册
    注册本地用户是根据提供商提供的信息创建的
  • 连接
    在连接中,我们将本地用户映射到 openID 用户
  • 登录登录我们允许经过openId
    身份验证的用户登录到我们的应用程序

登录
登录SigninAdapter用于加载本地用户,以便 Spring Security 层可以使用它。这里的localUserId参数将指向我们应用程序中用户的 ID。因此,在适配器中,我们需要将此用户加载为 anorg.springframework.security.core.userdetails.User并将其设置为SecurityContext.

前任:

LocalUser lu = getLocalUser(localUserId); // Load the local user from database
User user = new User(lu.username, lu.password, lu.authorities)
UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(user, user.getPassword(), user.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(result);

Connect
Spring Social Providers aorg.springframework.social.connect.web.ConnectController这将帮助我们将本地用户链接到 openId 用户。
它要求您向 发送POST请求/connect/<provider>,这会将用户重定向到提供者的登录页面,用户必须在该页面对应用程序进行授权。

于 2012-06-27T03:33:39.913 回答