【问题标题】:How to disable "Authentication Required" pop up?如何禁用“需要身份验证”弹出窗口?
【发布时间】:2014-01-15 07:26:28
【问题描述】:

我使用ASP.NET MVC 4 创建了一个Web 应用程序,并将其上传到商业Web 服务器上。我的问题是当我单击指向~/Account/LogOn 的操作链接时,会弹出“Authentication Required”。

这是我问题的开始,因为我不知道我更改了哪些设置,或者是否有我无法设置的设置?

我在使用 ASP.NET MVC 3 之前创建了 2 个 Web 应用程序,并将其上传到同一个商业 Web 服务器上,并且运行良好。没有任何障碍。

顺便说一句,他们给我的服务器访问权限不是远程桌面连接,而是它的 Parallels。

vipul.surana 我无法发布图片,因为我的积分少于 10。所以,如果你没问题,我会给你网址。网站地址是 www.clktb.com 然后按右上角的登录。

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

<?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 身份验证。此外,允许在 IIS 中进行匿名身份验证。
  • 我目前正在使用表单身份验证。我会尝试您的建议并使用 Windows 身份验证。我真的很想在 IIS 中设置允许匿名身份验证,但由于我们的网络托管只是一个负担得起的,他们只让我们使用并行,无论如何我可以在我的代码中添加它吗?
  • 发布 web.config 代码

标签: c# asp.net-mvc-4 parallels


【解决方案1】:

这是我的帐户/登录的已删除代码。

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

    <%--<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>--%>

当我从我的视图中删除这段代码时,一切都运行良好。就像完美一样。我在这里用这段代码浪费了 1 天的时间。希望将来人们会看到这一点并知道该怎么做。

【讨论】:

  • 感谢您的意见 Damien Joe 确实帮我指出了错误
  • 欢迎您。如果您认为我的帖子有帮助,您可以点击左边的箭头来支持它。谢谢。
【解决方案2】:

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

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

另外,你在使用网络服务吗?

编辑 这很可能是您网站文件夹的权限问题。 检查此链接以获取有关 IIS http://support.microsoft.com/?id=258063 的更多信息 还有ServerFault上的这个帖子

【讨论】:

  • 我没有使用网络服务。我检查了所有经过身份验证的用户都已添加到用户组中 - 他们都已添加。
  • @RodrigoBusa 还要检查该文件夹中包含的文件是否存在类似权限。
  • 这很有帮助。我阅读并检查了我的本地 IIS,发现存在匿名身份验证并禁用 401 质询。遗憾的是,我无法访问托管该网站的 IIS,因为他们只给了我一个 PARALLELS 控制面板供我使用。
  • @RodrigoBusa 您可以向您的托管服务提供商提出支持票,看看是否有帮助。这是否适用于您的所有网站,还是仅适用于本网站?如果是后者,那么您当前的网站项目肯定存在问题。
  • 我所做的与其他 2 个顺利运行的项目唯一不同的是我从 MVC 3 升级到 MVC 4...
猜你喜欢
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 2020-08-28
相关资源
最近更新 更多