C# Windows身份验证-如何拒绝使用代码的用户

C# Windows身份验证-如何拒绝使用代码的用户,c#,asp.net,iis,windows-authentication,C#,Asp.net,Iis,Windows Authentication,我的Windows身份验证正在使用IIS7,但现在我想根据SQL server中的数据拒绝特定用户 我知道我可以发送拒绝访问的信息,但我想向用户发送windows登录表单以输入不同的凭据,以便IIS可以验证新凭据并将其发送给c#以再次授权用户 编辑-重新表述问题 我想同时使用windows身份验证和基于数据库数据的身份验证。首先,我希望通过Windows身份验证对用户进行身份验证,然后应用程序将对用户进行身份验证。但我的问题是,如果应用程序拒绝用户,那么我希望Windows身份验证对话框显示给用

我的Windows身份验证正在使用IIS7,但现在我想根据SQL server中的数据拒绝特定用户

我知道我可以发送拒绝访问的信息,但我想向用户发送windows登录表单以输入不同的凭据,以便IIS可以验证新凭据并将其发送给c#以再次授权用户

编辑-重新表述问题


我想同时使用windows身份验证和基于数据库数据的身份验证。首先,我希望通过Windows身份验证对用户进行身份验证,然后应用程序将对用户进行身份验证。但我的问题是,如果应用程序拒绝用户,那么我希望Windows身份验证对话框显示给用户,以便Windows凭据从一开始就启动该过程。

如果要使用数据库中的信息进行身份验证,则必须使用表单身份验证。 您必须采取的步骤包括:

  • 构建登录网页(本例中为Login.aspx)
  • 将其放入web.config中,以指定登录页面并拒绝所有用户最初的访问:
代码:


其中一种方法是创建自己的登录表单,并使用LDAP查询对用户进行身份验证


因此,最初它通过windows身份验证对用户进行身份验证,如果其他条件不满足用户访问权限,您可以发送您自己的登录表单,并使用LDAP查询对用户进行身份验证。

我说得对吗,您不想使用windows身份验证(域用户),而只是使用数据库中的数据来验证用户?还是两者兼而有之?@Kai Hartmann我想要两者兼而有之。我想使用Windows身份验证验证用户,然后我将根据数据库中的数据进行身份验证,但如果我拒绝用户,则我希望浏览器请求不同的Windows凭据,并从一开始就开始处理。这可能会有所帮助:@Kai我不希望在身份验证中使用第三方模块我同意,我认为这篇文章可能会提供一些如何处理这个问题的提示。但我认为这可能会有所帮助:下面链接中的文章描述了如何使用表单身份验证,以及如何在服务器端模拟域用户。将对照windows系统检查该用户的凭据。因此,它使用表单身份验证和域用户。我想要两者的混合
<authentication mode="Forms">
  <!-- Login.aspx is the login page forms authentication should use. -->
  <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" timeout="30" slidingExpiration="true" >
  </forms>
</authentication>
<authorization>
  <!-- deny all users access to ressources of this app, if not logged in. -->
  <deny users="?" />
</authorization>
FormsAuthentication.SetAuthCookie("UserName", False)