C# “如何禁用”;“需要认证”;突然出现?

C# “如何禁用”;“需要认证”;突然出现?,c#,asp.net-mvc-4,parallels,C#,Asp.net Mvc 4,Parallels,我使用ASP.NETMVC4创建了一个Web应用程序,并将其上传到一个商业Web服务器上。我的问题是,当我单击指向~/Account/LogOn的Actionlink时,会出现一个“需要身份验证”弹出窗口 这是我问题的开始,因为我不知道我更改了什么设置,或者是否存在无法设置的设置 在使用ASP.NET MVC 3之前,我已经创建了两个Web应用程序,并将其上传到同一个商业Web服务器上,它运行得非常好。没有任何意外 顺便说一下,他们让我访问服务器的不是远程桌面连接,而是类似的连接 vipul.s

我使用ASP.NETMVC4创建了一个Web应用程序,并将其上传到一个商业Web服务器上。我的问题是,当我单击指向
~/Account/LogOn
的Actionlink时,会出现一个“需要身份验证”弹出窗口

这是我问题的开始,因为我不知道我更改了什么设置,或者是否存在无法设置的设置

在使用ASP.NET MVC 3之前,我已经创建了两个Web应用程序,并将其上传到同一个商业Web服务器上,它运行得非常好。没有任何意外

顺便说一下,他们让我访问服务器的不是远程桌面连接,而是类似的连接

vipul.surana我无法发布图片,因为我的分数不足10分。所以,如果你同意的话,我会给你网址。网址是www.clktb.com,然后按右上角的登录

nwdev根据请求这里是我的web.config代码除了删除连接字符串和从原始webconfig中删除一些注释之外,我没有在这里更改任何内容

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>

    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880"  />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
</configuration>

您的身份验证模式设置为窗体。除非必要,否则不要将其更改为Windows (Windows仅在基于LAN的环境中使用,其中用户由 活动目录)

我将检查您的网站文件夹的目录权限。转到您的网站文件夹,右键单击属性->安全性并检查是否已将经过身份验证的用户添加到用户组

另外,您正在使用Web服务吗

编辑 这很可能是网站文件夹的权限问题。 有关IIS的详细信息,请查看此链接
还有

上的这个线程这是我的帐户/登录的删除代码

根据Damien Joe先生的话,我引用“如果是后者,那么您当前的网站项目肯定有问题。”我在登录视图中仔细检查了代码,因为它是由ASP.NET MVC 4预先生成的,我发现一段代码不在MVC 3登录中

    <%--<p><%: Html.ActionLink("Register", "Register") %> if you don't have an account. </p>
    <hr />
    <section class="social" id="socialLoginForm">
        <h2>Use another service to log in.</h2>
        <%: Html.Action("ExternalLoginsList", new { ReturnUrl = ViewBag.ReturnUrl }) %>
    </section>--%>

您的应用程序使用什么身份验证模式?必须将其设置为Windows身份验证。另外,允许在IIS中进行匿名身份验证。目前我正在使用表单身份验证。我将尝试您的建议并使用windows身份验证。我真的很想在IIS中设置“允许匿名身份验证”,但由于我们的web主机只是一个负担得起的主机,他们只允许我们使用并行程序,是否还有其他方法可以将其添加到我的代码中?发布web.config代码我没有使用webservices。我检查了所有经过身份验证的用户是否已添加到用户组中,并且都已添加。@RodrigoBusa还检查了该文件夹中包含的文件是否具有类似的权限。这非常有用。我阅读并检查了本地IIS,发现存在匿名身份验证和禁用401挑战。遗憾的是,我无法访问该网站所在的IIS,因为他们只给了我一个可使用的PARALLELS控制面板。@RodrigoBusa您可以向您的托管提供商申请支持票,看看是否有帮助。这对你所有的网站都是一样的吗?还是只对这个网站有效?如果是后者,那么你当前的网站项目肯定有问题。我做的唯一不同于其他两个项目顺利运行的地方是我从MVC 3升级到MVC 4…感谢你的输入Damien Joe真的帮我指出了错误欢迎你。如果你认为我的帖子有帮助,你可以点击左边的箭头来投票。非常感谢。