【发布时间】:2011-09-16 12:03:14
【问题描述】:
为了使管理员能够轻松地修改用户在我的 ASP .NET MVC Web 应用程序中获得授权的组,我已将组名称作为 appSettings 放在我的 Web.config 中。
<add key="User" value="VDP ICMD Users"/>
<add key="SuperUser" value="VDP ICMD Super Users"/>
<add key="Administrator" value="VDP ICMD Administrator"/>
与实际 Active Directory 组名相关的值。然后在我的控制器中,使用我的自定义 AuthorizeAttribute 我可以简单地编写
[AuthorizeAD(GroupKeys = "User")]
我的问题是,将敏感信息(如组名)放在 Web.config 文件中可以轻松更改它们是否是不好的做法?除了登录服务器本身之外,其他人是否可以轻松访问 Web.config 文件?
【问题讨论】:
-
如果有人可以进入您的服务器并访问您的 web.config,那么您需要担心更大的问题...
-
组名是使用您的网站对 AD 进行正确工作身份验证的关键。如果您组织中的某个人在具有更高限制的组中,他可以通过访问 web.config 文件并简单地添加/编辑组名来提升写入/编辑权限来提升权限,例如
-
同意@Justin Satyr。我不担心,那是系统管理员的工作。我更担心是否有人可以更改甚至查看配置文件而无需访问服务器。
标签: .net asp.net asp.net-mvc