我使用ASP.NET MVC 4
创建了一个Web应用程序,并将其上传到商业Web服务器上。我的问题是,当我点击指向~/Account/LogOn
的Actionlink时,会出现“需要验证”弹出窗口。
这是我问题的开始,因为我不知道我更改了哪些设置,或者是否有我无法设置的设置?
我在使用ASP.NET MVC 3之前创建了2个Web应用程序,并将其上传到同一商业Web服务器上,并且运行完美。没有任何故障。
顺便说一下,他们给我服务器的访问权限不是远程桌面连接,而是Parallels。
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>
答案 0 :(得分: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>--%>
当我从我的View中删除这段代码时,一切都很完美。就像完美一样。我在这里用这段代码丢了一天。希望将来人们会看到这一点并知道该怎么做。
答案 1 :(得分:0)
您的身份验证模式设置为表单。除非必要,否则请勿将其更改为Windows (Windows仅用于基于LAN的环境,用户通过该环境维护 活动目录)。
我会检查您网站文件夹中的目录权限。转到您的网站文件夹&amp;右键单击属性 - >安全&amp;检查Authenticated用户是否已添加到用户组。
另外,您使用的是网络服务吗?
修改强> 这很可能是您网站文件夹中的权限问题。 有关IIS http://support.microsoft.com/?id=258063的详细信息,请查看此链接 以及ServerFault
上的这个主题