使用Membership API的主要缺点是什么?什么时候我应该考虑依靠使用手动编码?
答案 0 :(得分:5)
从不编写自己的代码以处理与安全性有关的任何事情。这包括认证/会员资格。
编写自己的身份验证系统看似简单:基本功能上编写和测试都很简单。但是,这里的问题是设计过程是安全的。因为它很容易做到,所以构建只有似乎才能工作的东西也很容易 - 它会通过你所有的测试,允许那些它应该的,不允许那些它不是,所以你部署你的系统。然后是黑客,并发现你的设计中的小缺陷。一年后,你终于发现你已经被破解了。
关于成员资格API的事情是它是可扩展的。如果没有一个开箱即用的提供商能够满足您的需求,您可以在不必从头开始的情况下扩展一个提供商,因此在非常例外的情况下确实会阻止您使用它。
此原则不仅适用于ASP.Net,也适用于您可能希望实施身份验证系统的任何其他平台。无论您拥有什么平台,都要尽可能地向您提供经过实战考验的安全功能。