Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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
Spring Social ProviderSignInUtils.getConnection正在返回“;错误:找不到符号";_Spring_Maven_Spring Mvc_Spring Social - Fatal编程技术网

Spring Social 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

我正在创建一个控制器来注册一个使用oauth2登录的用户,但是每当我尝试使用ProviderSignInUtils.getConnection(请求)获取连接时,它都会说该函数不存在

这是我的控制器:

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
,这样它就可以访问
连接工厂定位程序
连接存储库

非常感谢!非常感谢!