Web应用程序使用窗口域帐户进行身份验证

时间:2008-12-11 20:02:43

标签: asp.net security active-directory windows-authentication

如果您的网络应用程序将在网络中运行,那么支持Windows身份验证(活动目录?)是有意义的。

使用AD安全模型是否有意义,或者我是否会创建一些管理员必须为每个用户配置的角色/安全模块?

我之前从未处理过Windows安全问题,因此我对如何处理在Windows网络中运行的Web应用程序的安全性感到非常困惑。

我想我必须解决两个要点:

1. authentication
2. authorization

我觉得最好的做法是自己处理授权,但是使用AD身份验证吗?

3 个答案:

答案 0 :(得分:7)

基本上Windows处理所有内容,您从不存储用户名或密码,AD和IIS为您完成所有工作

将此添加到您的web.config

 <system.web>
  ...
  <authentication mode="Windows"/>
  ...
 </system.web>

配置Windows身份验证

  1. 启动Internet信息服务 (IIS)。
  2. 右键单击您的 应用程序的虚拟目录,和 然后单击属性。
  3. 点击 目录安全选项卡。
  4. 在 匿名访问和身份验证 控制,单击编辑。
  5. 确保 匿名访问复选框不是 选择集成Windows 身份验证是唯一选中的 复选框
  6. 然后,您可以再次使用web.config处理业务或授权。例如

    <authorization>
     <deny users="DomainName\UserName" />
     <allow roles="DomainName\WindowsGroup" />
    </authorization>
    

    在此处阅读更多内容:http://msdn.microsoft.com/en-us/library/ms998358.aspx

答案 1 :(得分:4)

Scott Guthrie先生详细解决了这个问题 Link 1Link 2

答案 2 :(得分:0)

我在我的一些内部网站上使用了Windows安全性。

基本上我设置的方式是删除IIS中的匿名访问,然后通过标准的Windows安全模型为站点文件分配权限。

我不确定这是不是最好的做法,但对我来说一直都很好。