我在我的asp.net应用程序中使用Windows身份验证模式。 如果用户在Windows中正确记录,他可以访问我的站点而无需登录。 但是如果他在尝试访问asp.net应用程序时是外部用户,则会显示一个登录对话框。 我不希望登录是必需的。
我只想在用户登录时使用用户名。但如果用户没有登录,我不想做任何事情。
答案 0 :(得分:2)
您需要使用<authentication mode="Windows"/>
,听起来就是这样,并在IIS配置中启用匿名访问。
如果他们当前已登录,则应传递其凭据。如果不是那么它应该选择运行工作进程的用户。
您可能会看到此问题以获取更多详细信息: How to get Windows user name when identity impersonate="true" in asp.net?
答案 1 :(得分:1)
<authentication mode="Windows"/>
<authorization>
<deny users="?" />
</authorization>
此web.config条目会将用户重定向到“拒绝访问”页面,而不是显示登录提示。这是你在找什么?