现在的位置: 首页 > 综合 > 正文

ASP.NET — 使用集成Windows身份验证

2013年04月16日 ⁄ 综合 ⁄ 共 935字 ⁄ 字号 评论关闭

      在编写一个Web应用程序时,身份认证往往是一个繁琐的工作,特别对一个Intranet的站点,我们只需要他是一个内部用户,就能给他授权的时候,自己编写身份认证实在是没有必要。

      ASP.NET能与IIS协同工作来实现对基于Windows2000或windows2003用户的身份认证。ASP.NET执行引擎也能被配置,使之能模拟这一认证。

      下面通过一个例子来看看怎样在ASP.NET中使用集成Windows身份认证

一,首先新建一个Web工程:Sample1,确认web.config文件中authentication mode="Windows"

二,在WebForm1下新建一个Label,并命名为LabelUserName

在后台Page_Load事件中编写如下代码

this.LabelUserName.Text = "Your Login Name:" + this.User.Identity.Name;

运行后,得到的结果是:Your Login Name:,却没有显示名字,原因是IIS并没有配置集成Windows身份认证

三,为了让IIS支持Windows身份认证,需要配置你的站点的目录安全属性,如图:

  1. 取消匿名访问
  2. 设置Windows集成身份认证。

 再次运行后,得到结果:Your Login Name: Domain1/User1,这时候,只要是同一个域里面的帐户,都有权限访问该页面。但有时候,只需要对某一个或几个组的用户赋予权限,这时候应该怎么设置呢?

四,配置allow与deny

<configuration>
     <system.web>
       <authorization>
         <allow roles="domainname/Managers" />
         <deny users="*" />
       </authorization>
     </system.web>
</configuration>

这样就只允许域里面的某些组可以访问了,这种方式的身份验证,对于Intranet的Web程序,是很实用的

 

 

http://blog.csdn.net/changezhong/archive/2006/08/16/1074440.aspx

抱歉!评论已关闭.