2014-01-15 3 views
0

Я создал веб-приложение с использованием ASP.NET MVC 4 и загрузил его на коммерческий веб-сервер. Моя проблема в том, что когда я нажимаю Actionlink, указывающую на ~/Account/LogOn, появляется сообщение «Authentication Required».Как отключить «Требуется аутентификация»?

Это начало моей проблемы, потому что я не знаю, какие настройки я изменил или есть настройки, которые я не смог настроить?

Я создал 2 веб-приложения перед использованием ASP.NET MVC 3 и загрузил их на один и тот же коммерческий веб-сервер, и он работает отлично. никаких зацепок что-то никогда.

Кстати, доступ, который они предоставили мне на сервер, не является подключением к удаленному рабочему столу, его 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

Какой режим аутентификации вы используете для своего приложения? Он должен быть настроен на проверку подлинности Windows. Кроме того, разрешите анонимную аутентификацию в IIS. –

+0

Я использую аутентификацию форм с момента. Я попробую ваш совет и использую проверку подлинности Windows. Мне бы очень хотелось установить анонимную аутентификацию в IIS, но поскольку наш веб-хостинг является доступным, мы разрешаем нам использовать параллели, есть ли в любом случае я могу добавить его в свой код? –

+0

опубликовать код web.config – mezmi

ответ

1

это здесь удаляемый код моего счета/убрана.

Основываясь на словах г-на Дамиена Джо I Цитата «Если позже, то определенно проблема с вашим текущим проектом веб-сайта». Я проверил коды в представлении LogOn, поскольку она Premade на 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 день с этим кодом. надеюсь, в будущем люди увидят это и поймут, что делать.

+0

Рад, что вы это поняли и получили все! –

+0

спасибо за ваш вклад. Damien Joe действительно помог мне указать ошибку –

+0

, которую вы приветствуете. Если вы считаете, что мой пост был полезен, вы можете стрелку слева, чтобы увеличить его. Спасибо. –

0

Режим проверки подлинности устанавливается в форм. Не меняйте его на Windows, если это необходимо (Windows используется только в среде на базе локальной сети, где пользователи поддерживаются Active Directory).

Я бы установил права доступа к каталогу в папке вашего веб-сайта. Перейдите в папку своего сайта & правой кнопкой мыши Properties -> Security & проверьте, добавлены ли пользователи, прошедшие проверку подлинности, в группу пользователей.

Кроме того, вы используете веб-сервис?

Редактировать Это, скорее всего, проблема с разрешениями в папке вашего сайта. Проверить эту ссылку для получения дополнительной информации о IIS http://support.microsoft.com/?id=258063 , а также эта нить на ServerFault

+0

Я не пользуюсь веб-сервисами. Я проверил, что все пользователи, прошедшие проверку подлинности, добавляются в группу пользователей - и все они добавлены. –

+0

@RodrigoBusa Также проверьте похожие разрешения для ваших файлов, содержащихся в этой папке. –

+0

@RodrigoBusa обновил мой ответ. –

Смежные вопросы