对于 Windows 身份验证的 Web 应用程序配置
要配置 Web 应用程序的 Windows 身份验证,请执行以下步骤:
- 创建名为 ASPNETWinAuth ASP.NET Web 应用程序。默认情况下将显示 theWebForm1.aspx 文件。
- 在 WebForm1.aspx HTML 视图中,将现有代码替换下面的代码示例:
<%=User.Identity.Name%>
- 单击开始,指向程序,指向管理工具,然后单击 $ Internet Information Services.
- 此时将显示 Internet Information Services MMC。展开计算机,然后展开 Web 站点使用 Windows 身份验证。
- 单击ASPNETWinAuth Web 站点的应用程序。
- 在操作菜单上单击属性.
- 在属性中,单击目录安全性选项卡。
- 在匿名访问和验证控件下单击编辑.
- 在身份验证方法中,单击以选中集成 Windows 身份验证。单击以清除所有其他复选框。
- 单击确定.
- 在属性中,单击确定。现在,ASPNETWinAuth Web 应用程序被配置为接受有效的用户帐户。
ASP.NET 应用程序配置
为集成 Windows 身份验证配置 IIS Web 站点后,您必须配置 ASP.NET 应用程序能够识别已通过身份验证的用户。若要执行此操作,您必须更改 Web.config 文件。在 Web.config 文件中,找到的 <authentication>标记,然后将模式属性到Windows,如以下示例所示:
<authentication mode="Windows" />
测试身份验证
若要测试您的 Windows 身份验证设置,请按照下列步骤操作:
- 在 Microsoft Internet Explorer,查看 WebForm1.aspx 页。此页位于 Http://Localhost 文件夹中。例如:http://Localhost/ASPNETWinAuth/WebForm1.aspx集成 Windows 身份验证的身份验证使用客户端计算机上的当前 Windows 用户信息,因为它不会立即提示用户输入用户名和密码。但是,如果身份验证交换无法识别用户,会出现对话框,提示用户输入的 Windows 用户帐户的用户名和密码。
- 键入一个有效的用户名和密码。在页面加载时,您的用户名将显示以下列格式:域的名称\用户名称
限制访问
在 ASP.NET 中,设置授权给应用程序通过添加 Web.config 文件中的设置。您可以指定允许哪些用户或组有权访问哪些资源,如下所示:
- 要允许所有用户的名为管理人员有权访问您的资源是 NT 组,请使用下面的代码:
<configuration> <system.web> <authorization> <allow roles="domainname\Managers" /> <deny users="*" /> </authorization> </system.web> </configuration>
- 若要只允许特定用户具有访问权限,请使用下面的代码:注意通过使用逗号分隔的列表,您可以指定多个角色或用户。请验证您指定的配置文件元素和关联的属性值时,使用正确的大小写。此代码是区分大小写。
<configuration> <system.web> <authorization> <allow users="domainname\user1,domainname\user2,domainname\user3" /> <deny users="*" /> </authorization> </system.web> </configuration>