禁止直接方法调用

时间:2013-02-17 21:18:07

标签: c# security methods

我的业务层包含从某些BusinessBase继承的类。类似CRUD的主要方法具有自定义RequiresPermission(activityId)属性。这些方法是从自定义WCF服务调用的,因此我可以在那里检查用户权限,如果用户没有执行操作的权限或者要调用的方法没有设置RequiresPermission属性,则抛出异常。这对我团队中的其他程序员来说完全透明 - 如果他们忘记分配权限,方法调用就会失败。

问题是一个业务类可能直接调用某个方法(甚至可能来自其他一些业务类)。我想禁止执行任何方法,如果它没有设置RequiresPermission属性,或者当前经过身份验证的用户无法使用带有activityId的操作。

有没有办法可以强制执行这些检查以避免安全漏洞,因为一些懒惰的程序员忘记在方法内部调用安全检查?

0 个答案:

没有答案