问题标签 [code-access-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
792 浏览

.net - 在部分信任环境中测试 .NET 代码

我想在部分信任环境中测试某段 .NET 代码的行为。最快的设置方法是什么?随意假设我(和其他读者)完全是 CAS 菜鸟。

@尼克:感谢您的回复。唉,有问题的工具是明确用于非托管代码的。我没有在我的问题中说“托管”,也不应该假设人们会从“.NET”标签中推断出它。

0 投票
4 回答
476 浏览

.net - 使用 .NET Framework 安全系统

我想知道 - 你们中的任何人实际上使用 System.Security.Permissions 命名空间中的各种类吗?我主要开发桌面/服务器端组件(即,没有 Web),一般假设是 FullTrust 始终可用,并且在不是这种情况的环境上不进行测试。除了 MS 源代码(EnterpriseLibrary 等)之外,我还没有看到使用上述结构的实际使用中的源代码。

这是普遍现象,还是我们是例外?我当然知道,不做这种测试对我们来说是个问题……

0 投票
2 回答
548 浏览

.net - 真的有人使用代码访问安全来保护他们的程序集和/或方法吗?

在我看来,大多数开发人员完全忽略了这个功能。人们更喜欢将安全异常作为依赖标准 Windows 角色和权限的通用异常来处理,而不是学习使用 CAS 方法来增强安全性——可能是因为 CAS 在其逻辑和命名方面相当混乱。

任何人都可以建议任何一般的经验法则/最佳实践,以干净的方式以最佳方式使用 CAS 吗?

0 投票
3 回答
270 浏览

.net - 了解 .NET 代码访问安全性的最佳在线阅读?

我正在考虑学习 CAS,但我需要快速掌握基本架构、性能影响以及它是否完全适合我的需求。我应该读什么?

0 投票
2 回答
373 浏览

c# - 在没有 GAC 的情况下使用代码访问安全性

我想知道是否可以使用代码访问安全性和自定义权限类(和属性),而无需在 GAC 中注册该属性所在的程序集。

目前,当调用具有我的属性的方法时,我得到一个 TypeLoadException ,我似乎无法绕过它。我读过的所有内容似乎都暗示您需要使用 GAC 才能实现这一目标。

有没有人有任何见解?

我尝试使用 PostSharp 或 AspectDNG 通过 AOP 实现相同的最终目标,但是这两者都为我的产品添加了额外的依赖项,这并不理想。

0 投票
8 回答
1661 浏览

.net - CAS(代码访问安全)的目的是什么?

我参与过这么多 Web 应用程序,但从未使用过 CAS,也许也从未觉得有必要使用它。

什么时候需要使用 CAS?人们真的在他们的应用程序中使用它吗?

0 投票
3 回答
905 浏览

.net-2.0 - 如何防止未经授权的代码访问我在 .NET 2.0 中的程序集?

在 .NET 1.x 中,您可以在程序集上使用StrongNameIdentityPermissionAttribute,以确保只有您签名的代码才能访问您的程序集。根据 MSDN 文档,

在 .NET Framework 2.0 版及更高版本中,如果调用程序集具有完全信任,则对标识权限的要求无效。

这意味着任何完全信任的应用程序都可以绕过我的安全要求。

如何防止未经授权的代码访问我在 .NET 2.0 中的程序集?

0 投票
2 回答
12342 浏览

.net - 如何在部分信任环境中使用我的 app.config 的 system.net 部分?

我有一个使用 clickonce 部署的 WCF 应用程序。它使用 https 连接到我的服务器,一切正常

由于以下代码,我在需要时使用默认代理:

在完全信任模式下,一切正常

现在,如果我将我的安全设置设置为部分信任,如果不涉及代理,它确实可以正常工作,但如果我尝试在公司环境中启动我的软件,则不再自动检测到代理。

据我了解:

configSections 不再在部分信任环境中解析,除非设置了 requirePermission 属性,如下所示:


设置此属性会引发带有以下错误消息的 System.Configuration.ConfigurationException:

部分或组名称“defaultProxy”已定义。对此的更新可能只发生在定义它的配置级别。

'defaultproxy' 部分确实已经在 machine.config 文件中定义:

但是,只要未设置 requirePermission,这似乎不是问题。换句话说,错误消息似乎应该改为:

部分或组名 'defaultProxy' 已使用另一个 requirePermission 设置定义。对此的更新可能只发生在定义它的配置级别。


有人遇到同样的问题吗?是否可以在部分信任模式下静默使用 WCF 应用程序中的默认代理?我也尝试以编程方式设置代理,但没有成功

wshttpbinding 的 useDefaultWebProxy 属性从一开始就直接设置,但在部分或完全信任环境中,如果没有正确定义 'system.net.defaultProxy' 部分,似乎不起作用:

我想我可以要求我的客户更新他们的本地 machine.config 文件以添加所需的 defaultProxy useDefaultCredentials="true",但这绝对不会简化部署。

0 投票
1 回答
248 浏览

.net - 如何从部分受信任的 .NET 应用程序中刷新任务栏?

我想刷新任务栏(例如这里描述的),但我不能在我的应用程序运行的安全上下文中P/Invoke FlashWindowEx(或其他任何东西)。

还有其他方法可以让任务栏闪烁吗?如果没有,我有哪些选择来吸引用户的注意力?

0 投票
3 回答
1073 浏览

.net - 以非管理员身份在 VS 中调试

我正在做一些 WinForms 开发,运行 XP 和 VS 2005(我知道很古老)。我想确保我的应用程序可以在没有管理员权限的情况下运行,但是我懒得尝试以非管理员身份运行 VS,而且我不想登录和退出来测试我的应用程序。

有没有一种方法可以让我以非管理员身份进行调试?

是否有一组代码访问安全属性可以添加到我的代码中,以强制我以与非管理员相同的权限集运行?