Request.ServerVariables[“LOGON_USER”] 或 Current.User.Identity.Name 为空
我正在使用表单身份验证,应用程序池设置为经典,我已启用表单身份验证和匿名访问,并且已禁用 Windows 身份验证。我仍然无法读取 LOGON_USER 或 IPrincipal.Identity.Name。
在 IE9 中,我将用户身份验证设置为使用当前用户名和密码自动登录。
但我仍然无法检索当前登录的用户。
可能缺少什么?这是 IIS7.5 中的重大更改还是 IE9 中的更改?
请注意,我不能只启用 Windows 身份验证,因为该网站既可以在外部使用,也可以在内部使用。另外,客户端希望被定向到登录页面,而不是受到用户/密码提示的挑战。
I'm using forms authentication, with the application pool set to classic I've enabled forms authentication and anonymous access, and I've disabled windows authentication. I'm still unable to read the LOGON_USER or IPrincipal.Identity.Name.
In IE9 I've set the user authentication to pass through automatic logon with the current user name and password.
Yet I still can't retrieve the current logged in user.
What could be missing? is this a breaking change in IIS7.5 or a change in IE9?
Note I can't just enable windows auth as this site is used externally as well as internally. Plus the client wants to be directed to the login page and not challenged with the user/password prompt.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当切换到经典版时,它返回 403 状态,无法处理请求。
最后,我更改了路由表以使用扩展名,如下所示:
然后我添加了一个新的通配符映射来处理 *.mvc 扩展名。
另请确保您在我的解决方案中使用正确的应用程序池身份,我正在使用 NetworkService 帐户,并且我还授予 NetworkService 帐户对 Web 文件夹的完全权限。
When switching to classic it was returning a 403 status it was failing to handle the request.
In the end I altered the routes table to use extensions like so:
Then I added a new wildcard mapping to handle the *.mvc extension.
Also make sure you are you using the correct app pool Identity in my solution I'm using NetworkService account, and I've also granted NetworkService account full permissions on the web folder.