我的业务层具有从某些 BusinessBase 继承的类。主要的类似 CRUD 的方法有一个自定义的 RequiresPermission(activityId) 属性。这些方法是从自定义 WCF 服务调用的,因此我可以在那里检查用户权限,如果用户没有执行操作的权限或调用的方法没有设置 RequiresPermission 属性,则抛出异常。这对我团队中的其他程序员来说是完全透明的——如果他们忘记分配权限,方法调用就会失败。
问题是一个业务类可能直接调用某个方法(甚至可能来自其他业务类)。如果没有设置 RequiresPermission 属性或者当前经过身份验证的用户无法使用带有 activityId 的操作,我想禁止执行任何方法。
由于一些懒惰的程序员忘记在方法内部调用安全检查,我有什么办法可以强制执行这些检查以避免安全漏洞?