我们有一个反应应用程序,它使用从 Spring Boot Web 服务获取数据。两者都部署在同一服务器(tomcat)中。但是我们只需要对来自 React 应用程序的 web 服务调用进行 Kerberos 身份验证。任何人都可以打开 React 应用程序,但是当它导航时,它会调用 webservcie 来获取数据。因此,如果我们将 spring 配置为支持 spnego kerberos spring sso,浏览器是否有可能会自动将登录的 Windows 凭据传递(从 React 应用程序,作为在浏览器上运行的反应)到 Spring Boot Web 服务。
我们从反应应用程序调用服务如下 -
export const client = rest
.wrap(mime, { registry: registry })
.wrap(errorCode)
.wrap(defaultRequest, {
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
method: 'GET'
})
export const fetchPDSIs = (Id) =>
APIHelpers.client(APIHelpers.buildPDSIReq(Id))
.then(
response => (response.entity || []).sort((a, b) => a.portalinstance.localeCompare(b.portalinstance))
,
response => {
global.msg.error(<div className='smallTextNotification'>`Fetching instances and portal for {Id} error: {response.status.code} -> {response.status.text}</div>)
return []
}
)
export const buildPDSIReq = (Id) => ({path: `${serverAddr}/msd232/pdsiii/${Id}`})