在ASP.NET网站中应用Windows用户验证

最近给公司内部某个部门做了个ASP.NET网站,需要用到Windows认证,用户访问网站的时候,输入的是AD里面的用户名和密码进行验证。原先IIS是这样设置的:

 

 

 

所以每次用户访问,IIS都会弹出一个页面让用户输入用户名和密码:

 

 

 

 

但是用户不喜欢上面这个页面,且用户需要把“记住我的密码”这个选项给去掉,所以我就打算使用asp.net的Form认证方式,自己写代码来验证

用户输入的用户名和密码是否正确。在网上搜了一下,微软有一篇文章介绍了Windows认证的实现方式:

http://msdn.microsoft.com/zh-cn/library/ms180890(VS.90).aspx

 

我照着文章中的步骤创建了相关的类和页面,在VS2008里面运行,可以正常进行用户验证,

 

 

 

 

但是当我把网站代码部署到IIS里面的时候,验证就通不过了,出现的错误页面如下:

 

查了好久,才发现自己在创建IIS的虚拟目录的时候漏了这两个步骤:

  1. 使应用程序的匿名帐户成为对 Active Directory 域服务具有权限的帐户。

  2. 如果启用了“允许 IIS 控制密码”复选框,则清除该复选框。默认的 IUSR_<computername> 帐户对 Active Directory 域服务不具有权限。

所以,IIS的匿名用户没有权限到AD里面去进行验证;然后我打开虚拟目录的属性页,进行如下设置:

 

 

然后就可以看到部署在IIS里面的网站能正常的进行windows用户验证了:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值