更新 Windchill 配置文件
必须对两个 Windchill 文件 -
securityContext.properties 文件和
Web.xml 文件 - 进行编辑,才能在 Windchill 中启用 OAuth。有关详细信息,请参阅
配置 OAuth 委派授权。
1. 通过 site.xconf 实用程序更新 securityContext.properties 文件中的以下属性。
◦ wt.oauth2.token.userNameAttribute
◦ wt.oauth2.token.tokenType
◦ wt.oauth2.token.scopeAttribute
2. 通过 site.xconf 实用程序在 wt.properties 文件中添加以下属性。
◦ wt.jwt.oauth2.token.issueAtTime
◦ wt.jwt.oauth2.token.azure.tenantId
◦ wt.jwt.oauth2.token.audience
◦ wt.jwt.oauth2.token.tokenIssuer
◦ wt.jwt.oauth2.token.algorithm
◦ wt.jwt.oauth2.token.kidUrl
3. 通过 securityContext.properties.xconf 更新 securityContext.properties 文件中的 wt.jwt.oauth2.token.jwtIdpTyp = azure。如果未为此属性提供任何值,则会忽略令牌中特定于 Azure 的属性,并执行标准 JWT 声明验证。
4. 将 securityContext.properties 文件的位置添加到 WEB-INF/web.xml 文件中。WEB-INF/web.xml 文件必须参考 securityContext.properties 文件。Web.xml 文件位于 /Codebase/WEB-INF/Web.xml。将此位置添加到 Spring root Web 应用程序上下文位置的参数值中。如果已将 securityContext.properties 文件保存在其默认目录中,则以下示例有效。将路径 WEB-INF/security/config/securityContext.xml 添加到 <param-value>config/mvc/applicationContext.xml</param-value> 中。上下文参数的结构应为:
<context-param>
<description>Location of Spring root web application context</description
<param-name>contextConfigLocation</param-name>
<param-value>config/mvc/applicationContext.xml
WEB-INF/security/config/securityContext.xml</param-value>
</context-param>
|
securityContext.xml 中也引用了 securityContext.properties 文件的位置。如果更改 securityContext.properties 的目录位置,则请在 Web.xml 和 securityContext.xml 中更新对新位置的引用。
|
5. 在 Web.xml 文件内的 <filter-mapping> 标记前添加 SpringSecurityFilterChain 代码段,例如:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/oauth/*</url-pattern>
将以下代码段添加到 Web.xml 文件内的 <servlet-mapping> 标记前。
<servlet>
<description>Bridge Servlet for Oauth Access</description>
<servlet-name>OauthAuthBridgeServlet</servlet-name>
<servlet-class>wt.servlet.AuthBridgeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>OauthAuthBridgeServlet</servlet-name>
<url-pattern>/oauth/*</url-pattern>
</servlet-mapping>
6. 重新启动 Windchill 和 Apache 服务器。验证 Windchill 是否参与了 SSO 网络的委派授权。