Spring Social ProviderSignInUtils.getConnection正在返回“;错误:找不到符号";
我正在创建一个控制器来注册一个使用oauth2登录的用户,但是每当我尝试使用ProviderSignInUtils.getConnection(请求)获取连接时,它都会说该函数不存在 这是我的控制器:Spring Social ProviderSignInUtils.getConnection正在返回“;错误:找不到符号";,spring,maven,spring-mvc,spring-social,Spring,Maven,Spring Mvc,Spring Social,我正在创建一个控制器来注册一个使用oauth2登录的用户,但是每当我尝试使用ProviderSignInUtils.getConnection(请求)获取连接时,它都会说该函数不存在 这是我的控制器: import org.springframework.social.connect.web.ProviderSignInUtils; @RequestMapping(value = "/register", method = RequestMethod.GET) public S
import org.springframework.social.connect.web.ProviderSignInUtils;
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String showRegistrationForm(WebRequest request, Model model) {
Connection<?> connection = ProviderSignInUtils.getConnection(request);
RegistrationForm registration = createRegistrationDTO(connection);
model.addAttribute("user", registration);
return "user/registrationForm";
}
导入org.springframework.social.connect.web.ProviderSignInUtils;
@RequestMapping(value=“/register”,method=RequestMethod.GET)
公共字符串showRegistrationForm(WebRequest请求,模型){
连接连接=ProviderSignNutils.getConnection(请求);
RegistrationForm registration=createRegistrationDTO(连接);
model.addAttribute(“用户”,注册);
返回“用户/注册表”;
}
这些是maven依赖项:
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-config</artifactId>
<version>1.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-core</artifactId>
<version>1.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-security</artifactId>
<version>1.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-web</artifactId>
<version>1.1.2.RELEASE</version>
</dependency>
org.springframework.social
spring社交配置
1.1.2.1发布
org.springframework.social
春季社会核心
1.1.2.1发布
org.springframework.social
春季社会保障
1.1.2.1发布
org.springframework.social
spring社交网站
1.1.2.1发布
在Spring Social 1.1.2中删除了ProviderSignInUtils.getConnection
,但是文档没有更新以反映这一点。上的示例代码显示了这一点
@Inject
public SignupController(AccountRepository accountRepository,
ConnectionFactoryLocator connectionFactoryLocator,
UsersConnectionRepository connectionRepository) {
this.accountRepository = accountRepository;
this.providerSignInUtils = new ProviderSignInUtils(connectionFactoryLocator, connectionRepository);
}
@RequestMapping(value="/signup", method=RequestMethod.GET)
public SignupForm signupForm(WebRequest request) {
Connection<?> connection = providerSignInUtils.getConnectionFromSession(request);
if (connection != null) {
request.setAttribute("message", new Message(MessageType.INFO, "Your " + StringUtils.capitalize(connection.getKey().getProviderId()) + " account is not associated with a Spring Social Showcase account. If you're new, please sign up."), WebRequest.SCOPE_REQUEST);
return SignupForm.fromProviderUser(connection.fetchUserProfile());
} else {
return new SignupForm();
}
}
@Inject
公共注册控制器(AccountRepository AccountRepository,
ConnectionFactoryLocator ConnectionFactoryLocator,
用户连接存储库连接存储库){
this.accountRepository=accountRepository;
this.providerSignInUtils=新的providerSignInUtils(connectionFactoryLocator,connectionRepository);
}
@RequestMapping(value=“/signup”,method=RequestMethod.GET)
公共注册表单注册表单(WebRequest){
连接连接=providerSignInUtils.getConnectionFromSession(请求);
if(连接!=null){
request.setAttribute(“message”,新消息(MessageType.INFO,“您的“+StringUtils.capitalize(connection.getKey().getProviderId())+”帐户未与Spring Social Showcase帐户关联。如果您是新用户,请注册。”),WebRequest.SCOPE\u request);
返回SignupForm.fromProviderUser(connection.fetchUserProfile());
}否则{
返回新的注册表单();
}
}
您需要创建自己的本地
providerSignInUtils
,这样它就可以访问connectionFactoryLocator
和connectionRepository
providerSignInUtils。getConnection
在Spring Social 1.1.2中被删除,但是文档没有更新以反映这一点。上的示例代码显示了这一点
@Inject
public SignupController(AccountRepository accountRepository,
ConnectionFactoryLocator connectionFactoryLocator,
UsersConnectionRepository connectionRepository) {
this.accountRepository = accountRepository;
this.providerSignInUtils = new ProviderSignInUtils(connectionFactoryLocator, connectionRepository);
}
@RequestMapping(value="/signup", method=RequestMethod.GET)
public SignupForm signupForm(WebRequest request) {
Connection<?> connection = providerSignInUtils.getConnectionFromSession(request);
if (connection != null) {
request.setAttribute("message", new Message(MessageType.INFO, "Your " + StringUtils.capitalize(connection.getKey().getProviderId()) + " account is not associated with a Spring Social Showcase account. If you're new, please sign up."), WebRequest.SCOPE_REQUEST);
return SignupForm.fromProviderUser(connection.fetchUserProfile());
} else {
return new SignupForm();
}
}
@Inject
公共注册控制器(AccountRepository AccountRepository,
ConnectionFactoryLocator ConnectionFactoryLocator,
用户连接存储库连接存储库){
this.accountRepository=accountRepository;
this.providerSignInUtils=新的providerSignInUtils(connectionFactoryLocator,connectionRepository);
}
@RequestMapping(value=“/signup”,method=RequestMethod.GET)
公共注册表单注册表单(WebRequest){
连接连接=providerSignInUtils.getConnectionFromSession(请求);
if(连接!=null){
request.setAttribute(“message”,新消息(MessageType.INFO,“您的“+StringUtils.capitalize(connection.getKey().getProviderId())+”帐户未与Spring Social Showcase帐户关联。如果您是新用户,请注册。”),WebRequest.SCOPE\u request);
返回SignupForm.fromProviderUser(connection.fetchUserProfile());
}否则{
返回新的注册表单();
}
}
您需要创建自己的本地
ProviderSignNutils
,这样它就可以访问连接工厂定位程序和连接存储库
非常感谢!非常感谢!