首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >User.Identity.Name在生产环境中是空的。

问User.Identity.Name在生产环境中是空的。
EN

Stack Overflow用户
提问于 2011-11-30 15:06:14
回答 2查看 558关注 0票数 1

我有一个ASP.NET 2.0网络应用程序。如果我在我的开发机器上运行在调试模式下,proprerty User.Identity.Name不是空的,它会返回我的名字“MyDomain”。如果我将同一应用程序部署到带有apache和Mono运行时的Linux服务器中,则User.Identity.Name为空。

我哪里错了?

编辑:我不知道认证的类型。我使用web.config 'as‘而不修改任何东西,我也尝试过:<authentication mode="Windows"/>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-30 15:24:12

Mono只支持“无”和“窗体”身份验证模式。" forms“是ASP.NET窗体使用的身份验证。“无”意味着不需要认证。不支持的选项是"Windows“和"Passport”。

Mono:配置system.web身份验证

票数 1
EN

Stack Overflow用户

发布于 2011-11-30 15:10:01

您正在匿名连接到您的应用程序。

假设您使用的是表单身份验证:

如果您查看配置文件的system.web部分,应该有如下所示的部分:

代码语言:javascript
复制
<system.web>
  <authorization>
    <deny users="?"/>
    <!-- deny anonymous -->
    <allow users="*"/>
    <!-- allow all authenticated -->
  </authorization>
</system.web>

如果您确保存在deny users="?"设置,Asp.Net将强制用户在允许访问页面之前进行身份验证。这将确保设置了User.Identity.Name属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8328046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档