【发布时间】:2011-06-25 20:40:50
【问题描述】:
我在我的 asp.net 应用程序中使用 Windows 身份验证模式。 如果用户在 Windows 中正确登录,他无需登录即可访问我的网站。 但是,如果是外部用户,当他尝试访问 asp.net 应用程序时,会显示一个登录对话框。 我不希望需要登录。
我只需要用户登录时的用户名。但是如果用户没有登录,我什么都不想做。
【问题讨论】:
标签: c# asp.net windows-authentication
我在我的 asp.net 应用程序中使用 Windows 身份验证模式。 如果用户在 Windows 中正确登录,他无需登录即可访问我的网站。 但是,如果是外部用户,当他尝试访问 asp.net 应用程序时,会显示一个登录对话框。 我不希望需要登录。
我只需要用户登录时的用户名。但是如果用户没有登录,我什么都不想做。
【问题讨论】:
标签: c# asp.net windows-authentication
<authentication mode="Windows"/>
<authorization>
<deny users="?" />
</authorization>
此 web.config 条目会将用户重定向到拒绝访问页面,而不是显示登录提示。这是你要找的吗?
【讨论】:
您需要使用<authentication mode="Windows"/>,这听起来像您,并且在 IIS 配置中打开匿名访问。
如果他们当前已登录,那么它应该传递他们的凭据。如果不是,那么它应该选择正在运行工作进程的用户。
您可能会看到这个问题以了解更多详细信息: How to get Windows user name when identity impersonate="true" in asp.net?
【讨论】: