Security 如何从我创建的新控制器访问当前登录的用户?

Security 如何从我创建的新控制器访问当前登录的用户?,security,asp.net-mvc-3,Security,Asp.net Mvc 3,这是我的问题。我正在使用MVC3框架构建一个web应用程序。我的应用程序以MVC3安装中包含的示例网站开始 <profile defaultProvider="AspNetSqlProfileProvider" enabled="true"> <providers> <clear/> <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfilePro

这是我的问题。我正在使用MVC3框架构建一个web应用程序。我的应用程序以MVC3安装中包含的示例网站开始

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>
该web应用程序已设置为用户可以登录

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>
我的问题是这个

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>
我需要在用户登录时保存文件,我需要在以
用户名命名的文件夹下创建文件

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>
如何访问已登录的用户信息和配置文件?当我评估HttpContext.Current.User时,它返回我的windows NTLM登录名,而不是我登录站点时使用的名称。下面是我的web.config的外观

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>

您的自定义控制器应继承自基本
控制器
类。通过以下方式访问登录用户:

<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>
User.Identity.Name

我已经删除了web.config文件的身份验证部分。我意识到,在我发布这篇文章之后,我已经删除了web.config文件的身份验证部分。在我发布了这个问题之后,我意识到了这一点。是的,我不能删除这个问题。我想所有人都会标记它。
<profile defaultProvider="AspNetSqlProfileProvider"  enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />         
  </providers>
  <properties>
    <add name ="TaxPayerID" type="String"/>
  </properties>
</profile>


<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>