我们的证书即将过期。一旦获得新证书,我将不得不为我们拥有的众多Web应用程序中的每一个编辑web.config文件。
我希望通过将设置放入全局machine.config或web.config文件中来简化此操作。
这是网络应用程序中的原始设置
<system.identityModel>
<identityConfiguration>
<certificateValidation certificateValidationMode="PeerTrust" revocationMode="NoCheck"/>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<add thumbprint="<snip>...</snip>" name="idsrv.local"/>
</trustedIssuers>
</issuerNameRegistry>
<securityTokenHandlers>
<securityTokenHandlerConfiguration>
<audienceUris>
<add value="https://itservices.work.com/WebAppName/"/>
</audienceUris>
</securityTokenHandlerConfiguration>
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
使这个问题棘手的是,AudienceUris元素需要在其中包含应用程序URL。因此,该放置位置不能位于全局web.config中。
所以我把这是全局的web.config。
<system.identityModel>
<identityConfiguration>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<certificateValidation certificateValidationMode="PeerTrust" revocationMode="NoCheck"/>
<trustedIssuers>
<add thumbprint="<snip>...</snip>" name="idsrv.local"/>
</trustedIssuers>
</issuerNameRegistry>
</identityConfiguration>
</system.identityModel>
这是在本地web.config中。
<system.identityModel>
<identityConfiguration>
<securityTokenHandlers>
<securityTokenHandlerConfiguration>
<audienceUris>
<add value="https://itservices.work.com/WebAppName/"/>
</audienceUris>
</securityTokenHandlerConfiguration>
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
运行时出现此错误。
ID7029:重复的“”配置元素与 在配置中找到了名称“ 部分。
我尝试了在谷歌搜索时发现的各种事情,但是我找不到使它起作用的方法。
有什么建议吗?
谢谢