我们是一个window域环境, 写了一个asp.net的web程序, 功能是通过WMI读取指定机器的一些硬件信息, 但是web无法以访问者的权限运行,从而导致了程序无权限访问指定的机器.之前参考过一些文章(如http://support.microsoft.com/?kbid=306158),将
web.config里添加了
    <authentication mode="Windows" /> 
<identity impersonate="true" />
语句,但还是会提示无权限访问指定机器.
哪位高人能够指点一二.万分感谢.

解决方案 »

  1.   

    >>>web.config里添加了
    >>>    <authentication mode="Windows" /> 
    >>> <identity impersonate="true" />
    >>>语句,但还是会提示无权限访问指定机器.这个登陆用户有权限读取哪些数据么?即,假如这个用户实际登陆上这个机器后,如果通过一个Console应用来读取这些数据,能成功么?也参考HOW TO:为委派方案配置 ASP.NET 应用程序
    http://support.microsoft.com/kb/810572/zh-cn
      

  2.   

    有一个情况需要说明,那就是,当我直接登录web服务器,在服务器上打开那个web程序,不论是用http://localhost...还是http://计算机...名来访问,都可以正常运行,取到指定机器的信息,但是当我从其他机器去访问时就会提示没有权限. 在我的开发机上也是一样,开发的时候运行正常,但当我从web服务器上访问我开发机上的web时,也提示了没有权限.之前我们服务器是win2000系统,都可以正常运行,后来系统升级到win2003后,相同的代码就无法运行了.
      

  3.   

    解决方法:
    打开IIS,找到你运行应用得程序得虚拟目录,点击其属性,在安全选项卡上将集成windwo身份验证勾上,并且将匿名访问勾上,就可以了!
      

  4.   

    在iis目录安全(dictonary security)标签中点击Edit,用户名和密码填入你的windows帐号密码。
      

  5.   

    >>解决方法:
    >>打开IIS,找到你运行应用得程序得虚拟目录,点击其属性,在安全选项卡上将集成windwo身份>>验证勾上,并且将匿名访问勾上,就可以了!两个都有钩上啊, 还是不行啊. >>在iis目录安全(dictonary security)标签中点击Edit,用户名和密码填入你的windows帐号密码。你说的是在匿名的里面添上帐号和密码吗? 我们不能采用这种方法...