C# “如何禁用”;“需要认证”;突然出现?
我使用ASP.NETMVC4创建了一个Web应用程序,并将其上传到一个商业Web服务器上。我的问题是,当我单击指向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
~/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真的帮我指出了错误欢迎你。如果你认为我的帖子有帮助,你可以点击左边的箭头来投票。非常感谢。