"Full" 信任模式的风险
Risks of "Full" trust mode
我们在 SSRS 11 和 .NET 4.5 上面临 the slow performance issue。
A solution是在web.config
中将trust
模式设置为full
。这样修改有什么风险?
首先你可以提供一个Full Trust
level for only assemblies of your need via FullTrustAssembliesSection
in web.config, and this can be done only for a signed assemblies:
<system.web>
<securityPolicy>
<fullTrustAssemblies>
<add assemblyName="MyCustomAssembly"
version="1.0.0.0"
publicKey="a 320 hex character representation
of the public key blob used with a
signed assembly"
/>
</fullTrustAssemblies>
</securityPolicy>
</system.web>
请注意
The default policy for evaluating permissions grants full trust to the
Global Assembly Cache (GAC
) assemblies and partial trust to the
other assemblies.
另请注意,您可以 configure trust level for an application in IIS。
所以这个选项可以帮助您确定在 FullTrust
策略下应该 运行 的确切程序集,并将其他程序集设置为默认值。但是,如果您仍然担心您的应用程序或某些库的信任级别,我建议您调查 Trust Level table 并回答问题:
- 我们的应用程序可以使用第三方组件吗?
- 我们是否运行以尽可能低的信任级别设置他们的代码?
- 在我们的应用程序中究竟应该能够执行哪些自定义代码?
- 我们可以通过 identity for an application 管理此权限吗?
- 我们可以通过 CAS rules 管理此权限吗?
- 我们可以将第三方代码移到单独的 sandbox ApplicationDomain 吗?
之后,您可以根据需要管理您的应用程序安全性。希望这会有所帮助。
另请参阅:
* ASP.NET Application Security in Hosted Environments
* Security Practices: ASP.NET Security Practices at a Glance
我们在 SSRS 11 和 .NET 4.5 上面临 the slow performance issue。
A solution是在web.config
中将trust
模式设置为full
。这样修改有什么风险?
首先你可以提供一个Full Trust
level for only assemblies of your need via FullTrustAssembliesSection
in web.config, and this can be done only for a signed assemblies:
<system.web>
<securityPolicy>
<fullTrustAssemblies>
<add assemblyName="MyCustomAssembly"
version="1.0.0.0"
publicKey="a 320 hex character representation
of the public key blob used with a
signed assembly"
/>
</fullTrustAssemblies>
</securityPolicy>
</system.web>
请注意
The default policy for evaluating permissions grants full trust to the Global Assembly Cache (
GAC
) assemblies and partial trust to the other assemblies.
另请注意,您可以 configure trust level for an application in IIS。
所以这个选项可以帮助您确定在 FullTrust
策略下应该 运行 的确切程序集,并将其他程序集设置为默认值。但是,如果您仍然担心您的应用程序或某些库的信任级别,我建议您调查 Trust Level table 并回答问题:
- 我们的应用程序可以使用第三方组件吗?
- 我们是否运行以尽可能低的信任级别设置他们的代码?
- 在我们的应用程序中究竟应该能够执行哪些自定义代码?
- 我们可以通过 identity for an application 管理此权限吗?
- 我们可以通过 CAS rules 管理此权限吗?
- 我们可以将第三方代码移到单独的 sandbox ApplicationDomain 吗?
之后,您可以根据需要管理您的应用程序安全性。希望这会有所帮助。
另请参阅:
* ASP.NET Application Security in Hosted Environments
* Security Practices: ASP.NET Security Practices at a Glance