我有一个运行在Windows 2003服务器上的IIS 7下的.NET 3.5应用程序,无法正常工作,因为我继续得到提示进行login。 我已经将Windows身份validation设置为在IIS中启用,并禁用所有其他安全types,并将我的应用程序web.config文件身份validation/授权设置为: <system.web> <compilation debug="true" strict="false" explicit="true" targetFramework="3.5" /> <authenticationmode="Windows"/> <authorization> <deny users = "?" /> </authorization> </system.web> 有了这个设置,我期待着Windows用户的场景validation,以允许访问和拒绝匿名用户。 但是,我得到的是一个Windowsloginpopup式,当我尝试访问该网站。 我一直在解决这个问题几天了,无法找出问题。 基于类似问题的post,我确认我的url不包括任何时期,双重检查,我的IE设置设置为启用集成Windows身份validation,并将我的url添加到我的内部网站,但仍然popup。 为了进一步解决问题,我启用了IIS中的匿名身份validation,并修改了我的web.config文件,让我进入,然后添加Response.Write(System.Security.Principal.WindowsIdentifity.getcurrent()。user.name.toString() )尝试查看正在使用哪个用户进行身份validation。 我得到的结果是IIS APPPOOL \ myapp显然是我的应用程序的IIS应用程序池。 我真的很感激任何人都可以提供的帮助,所以我仍然只使用Windows身份validation,但没有得到popup窗口的身份validation执行对实际的Windows用户。 谢谢。 进一步的故障排除后的其他注意 只是注意到,当login失败,并再次显示Windowslogin提示时,它显示的用户名尝试login为“SERVERNAME”\“USERNAME”这导致我相信它试图validation用户对服务器与域。 为了证实这一点,我直接在应用服务器上创build了一个本地用户帐号,它和网域用户使用相同的用户名和密码,并尝试重新login。 结果是我再次收到login提示,但是这次我input用户名和密码时,我能够成功login。 networking用户和应用程序服务器位于同一个域中,因此不确定为什么IIS身份validation指向本地应用程序服务器帐户而不是域帐户。 我意识到这是一个IIS问题,所以发布forums.iis.net以及任何人都可能有任何build议,因为这几天已经排除故障。
我正在使用Windows身份validation,没有模仿我公司的Intranet网站与IIS7。 在IIS7下,使用这些设置访问包含我的Web应用程序的文件夹的帐户是什么? 会不会是IIS_IUSRS? 或networking服务? 还是另一个我不知道?
我有一个(ASP.NET 3.5)Intranet应用程序,它被devise为使用表单身份validation(以及默认的aspnet成员资格系统)。 我还在另一个表中存储了有关用户的附加信息,该表与aspnet_users表共享其主键。 对于属于我们域的用户,我将他们的域名存储在二级用户表中,我想自动login那些域名和存储在表中的名字相匹配的用户。 我已经阅读了可用的指南 – 它们都来自两年前或更久,并假设您可以在单独的login页面上激活Windows身份validation,以允许您提取域帐户名称。 从我所知道的情况来看,这在IIS7中是不可能的(整体身份validation方法应用于所有页面,无法select性地停用,并且两种身份validation方法都不能应用在同一页面上)。 有没有办法让IIS通过请求用户的Windows域帐户名称? 我不需要适当的ADauthentication,只需要域名。
我有一个与Windows身份validation服务。 使用下面的代码,我可以获得(通过使用客户端)使用该服务的用户的Windows身份。 String currentUser = OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name; 服务器中的configuration是: <binding name="messageSecurity"> <security mode="Message"> <message clientCredentialType="Windows"/> </security> </binding> 我也读过,在服务器上,它正在使用Kerberos进行工作。 现在,我正在试图了解它在我们公司networking中的意义。 在办公室中,用户将使用其活动目录凭证login到他们的桌面。 我们的服务托pipe在名为“SERV1”的Windows服务器中。 只有有权访问(login)到“SERV1”的用户才能访问该服务? 或者所有能够login到办公室networking的用户(启动活动目录凭证)都能够使用该服务? 有没有办法确保只有首席信息官批准的应用程序将访问服务,保持服务为Windowsauthentication? 这个validation检查是针对每个服务操作调用发生还是仅针对第一次调用? 有什么办法的服务将能够知道用户的Windows凭据? 注意:我所了解的是WindowsAuthentication可以与会员提供商进行比较 – 从集中位置提供用户名和密码。 它可以与ASP.Net成员资格提供程序或Active Directory成员资格提供程序进行比较。 进一步阅读: ASP.NET Active Directory成员资格提供程序和SQL Profile Provider wcf数据合同授权 http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel