我的Windows身份验证正在与IIS7一起使用,但现在我想根据SQL服务器中的数据拒绝特定用户。
我知道我可以发送信息访问被拒绝但我想向用户发送Windows登录表单以输入不同的凭据,以便IIS可以验证新凭据并将其发送到c#以再次授权用户。
编辑 - 重新解释问题
我想使用基于数据库数据的Windows身份验证和身份验证。首先,我希望通过Windows身份验证对用户进行身份验证,然后应用程序将对用户进行身份验证。但我的问题是,如果应用程序拒绝用户,那么我希望Windows身份验证对话框向用户显示Windows凭据以从头开始该过程。
答案 0 :(得分:0)
如果要使用数据库中的信息进行身份验证,则必须使用表单身份验证。 您必须采取的步骤是:
代码:
<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)
答案 1 :(得分:0)
您可以执行的方法之一是创建自己的登录表单并使用LDAP查询对用户进行身份验证。
因此,最初它通过Windows身份验证对用户进行身份验证,如果其他条件不满足用户访问权限,您可以发送自己的登录表单并使用LDAP查询对用户进行身份验证。