Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
使用security handel的spring boot restTempalte调用(获取数据)_Spring_Spring Boot_Spring Security_Resttemplate - Fatal编程技术网

使用security handel的spring boot restTempalte调用(获取数据)

使用security handel的spring boot restTempalte调用(获取数据),spring,spring-boot,spring-security,resttemplate,Spring,Spring Boot,Spring Security,Resttemplate,我想通过在springboot中调用resttempalte从另一个应用程序获取数据。。 如何为安全设置我的标题。。如何处理另一个应用程序的安全性 RestTemplate RestTemplate=新RestTemplate(); String result=restemplate.getForObject(uri,String.class) System.out.println(“Rest-->”+结果) 您可以像这样使用: final String uri = "http://localh

我想通过在springboot中调用resttempalte从另一个应用程序获取数据。。 如何为安全设置我的标题。。如何处理另一个应用程序的安全性

RestTemplate RestTemplate=新RestTemplate(); String result=restemplate.getForObject(uri,String.class)

System.out.println(“Rest-->”+结果)

您可以像这样使用:

final String uri = "http://localhost:9090/TicketingSystem/caselogcontroller/getAppIds";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("authorization", <your tokens>));
String result = restTemplate.exchange(uri, HttpMethod.GET, new HttpEntity<>(headers) String.class);
System.out.println("Rest--->"+result);
最终字符串uri=”http://localhost:9090/TicketingSystem/caselogcontroller/getAppIds";
RestTemplate RestTemplate=新RestTemplate();
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(“授权”);
String result=restemplate.exchange(uri,HttpMethod.GET,新的HttpEntity(headers)String.class);
System.out.println(“Rest-->”+结果);
用户使用凭据发出经过身份验证的REST请求。 以下是一个基于XML的配置示例,以帮助您入门:

<bean id="oAuth2RestTemplate" class="org.springframework.security.oauth2.client.OAuth2RestTemplate">
    <constructor-arg ref="clientCredentialsResourceDetails"/>
    <constructor-arg ref="defaultOAuth2ClientContext"/>
    <property name="requestFactory" ref="httpComponentsClientHttpRequestFactory"/>
    <property name="accessTokenProvider">
        <bean class="org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider">
            <property name="requestFactory" ref="httpComponentsClientHttpRequestFactory"/>
        </bean>
    </property>
</bean>

<bean id="httpComponentsClientHttpRequestFactory" class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
    <constructor-arg ref="httpsClientFactory"/>
</bean>

<bean id="httpsClientFactory" class="com.finity.ssl.HttpsClientFactory">
    <property name="sslKeyStorePath" value="${server.ssl.key-store:}"/>
    <property name="sslKeyStorePassword" value="${server.ssl.key-store-password}"/>
    <property name="sslKeyPassword" value="${server.ssl.key-password}"/>
    <property name="sslTrustStorePath" value="${server.ssl.trust-store:}"/>
    <property name="sslTrustStorePassword" value="${server.ssl.trust-store-password}"/>
</bean>

<bean id="clientCredentialsResourceDetails" class="org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails">
    <property name="accessTokenUri" value="${auth.service.url:https://localhost:8443/auth-service}/oauth/token"/>
    <property name="clientId" value="${auth.service.client.id:DUMMY_CLIENT_ID}"/>
    <property name="clientSecret" value="${auth.service.client.secret:password}"/>
</bean>

<bean id="defaultOAuth2ClientContext" class="org.springframework.security.oauth2.client.DefaultOAuth2ClientContext"/>

我希望通过用户ID和密码而不是会话令牌获取数据
<bean id="oAuth2RestTemplate" class="org.springframework.security.oauth2.client.OAuth2RestTemplate">
    <constructor-arg ref="clientCredentialsResourceDetails"/>
    <constructor-arg ref="defaultOAuth2ClientContext"/>
    <property name="requestFactory" ref="httpComponentsClientHttpRequestFactory"/>
    <property name="accessTokenProvider">
        <bean class="org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider">
            <property name="requestFactory" ref="httpComponentsClientHttpRequestFactory"/>
        </bean>
    </property>
</bean>

<bean id="httpComponentsClientHttpRequestFactory" class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
    <constructor-arg ref="httpsClientFactory"/>
</bean>

<bean id="httpsClientFactory" class="com.finity.ssl.HttpsClientFactory">
    <property name="sslKeyStorePath" value="${server.ssl.key-store:}"/>
    <property name="sslKeyStorePassword" value="${server.ssl.key-store-password}"/>
    <property name="sslKeyPassword" value="${server.ssl.key-password}"/>
    <property name="sslTrustStorePath" value="${server.ssl.trust-store:}"/>
    <property name="sslTrustStorePassword" value="${server.ssl.trust-store-password}"/>
</bean>

<bean id="clientCredentialsResourceDetails" class="org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails">
    <property name="accessTokenUri" value="${auth.service.url:https://localhost:8443/auth-service}/oauth/token"/>
    <property name="clientId" value="${auth.service.client.id:DUMMY_CLIENT_ID}"/>
    <property name="clientSecret" value="${auth.service.client.secret:password}"/>
</bean>

<bean id="defaultOAuth2ClientContext" class="org.springframework.security.oauth2.client.DefaultOAuth2ClientContext"/>