我的应用程序具有以下架构:
Web服务层(wcf服务)
业务逻辑层
数据访问层
我应该在哪里检查许可?在Web服务中还是在BL?
中答案 0 :(得分:1)
一般情况下,我会在Web服务层进行操作,因为安全性是一个高级别的问题。这对于WCF特别有用,因为安全设置可以使用配置更改而不是代码进行配置。因此,在WCFlayer上建模安全性非常容易 DAL绝对不是检查安全性的地方,因为它太低了。给定的Web方法可能会调用许多DAL方法,您可能会错过一个,或者DAL方法可以被允许或禁止,具体取决于调用它的Web方法。
答案 1 :(得分:1)
作为另一个答案,我建议检查服务层中的访问权限,但它当然取决于您的需求。在许多情况下,我已经构建了服务,其中只有一些允许访问服务的客户端 - 当然 - 由WCF使用来自调用者或类似的证书来检查。
客户端的用户还有一组凭据,允许访问数据的特定部分(在BLL中检查)或服务的特定方法/端点,由WCF或BLL检查用户凭据和授权逻辑的性质。
但我同意不应该参与DAL。