这是我的情景:
我有一个内部网应用程序。我想让网络用户使用Windows身份验证功能自动登录应用程序。如果用户没有进入我的网络,我会弹出一个登录屏幕。
因此,我将身份验证模式更改为web.config文件为Windows
。然后我使用HttpContext.User.Identity
对象以使已登录的用户进入网络。所以我将应用程序运行到我的localhost中,效果很好。
当我将应用程序发布到服务器时,当我尝试自动登录时,Identity
对象始终为空。
所以,我尝试了以下步骤:
拒绝匿名用户。 <deny users="?"/>
,它不允许任何匿名用户进入应用程序,但我在这里遇到了一个问题:当用户没有进入我们的网络时,服务器从Window Servers弹出那个默认的身份验证窗口,而不是我的个人登录界面。
让匿名用户进入。如果我摆脱了<deny users="?"/>
,任何用户都可以访问该页面,但始终会进入登录界面,即使我是进入我的本地网络。
所以,我需要的是:当用户进入本地网络时,直接登录而不登录。如果不是,请弹出登录屏幕。
有人可以帮我弄清楚发生了什么吗?
谢谢大家!
答案 0 :(得分:0)
执行以下操作,
<identity impersonate="true" />
<authentication mode="None" />
<authorization>
<deny users="?" />
</authorization>
希望它有所帮助。