我们在网络应用上使用Windows身份验证。
我已经扩展了MVC AuthorizeAttribute
,因此它从web.config文件中读取授权用户和角色。我重写AuthorizeCore()
以确保当前用户是配置文件中的用户。
我的同事和我在这里有一些争论。他认为,如果恶意个人获得访问服务器的权限,他就会很容易将自己添加到web.config中,他认为应该使用带有硬编码的用户和角色的标准访问属性,因此有人必须重新编译以给自己访问...或者使用十六进制编辑器。
如果我在web.config中放置授权角色的方法被认为是不好的做法,那我很奇怪吗? SO社区的集体意见是什么。
答案 0 :(得分:2)
将敏感信息存储在web.config中通常被认为是一种合理的做法。 IIS不提供该文件,一般情况下,如果有恶意的某个人设法将您的网站泄露到他们可以读取您的web.config的位置,您通常会有更大的安全问题,而不仅仅是能够操纵该文件。如果能够阅读web.config是您仍然关心的问题,您可以随时加密它的内容。我个人没有这样做,但我的理解是这很容易做到。