Продолжает запрашивать учетные данные

Что я сделал до сих пор:

  1. Создал веб-сайт с этим web.config (это просто часть настроек, а не весь файл :))

    <appSettings>
    <add key="webpages:Version" value="3.0.0.0"/>
    <add key="webpages:Enabled" value="false"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
    <add key="autoFormsAuthentication" value="false"/>
    <add key="enableSimpleMembership" value="false"/>
    </appSettings>
    <system.web>
    <compilation debug="true" targetFramework="4.6.2"/>
    <httpRuntime targetFramework="4.6.2"/>
    <authentication mode="Windows"></authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
    </system.web>
    
  2. Создал контроллер:

    [Authorize(Users = @"myPcName\myUserName,skynet\Simple")]
    public class AuthenController : Controller
    {
        [Authorize(Users = @"myPcName\myUserName")]
        public ActionResult ForAdministrator()
        {
            return View();
        }
        [Authorize(Users = @"myPcName\Simple")]
        public ActionResult ForUser()
        {
            return View();
        }
    }
    

Я получил свои учетные данные: cmd -> whoami

  1. Я опубликовал свой сайт mvc в режиме выпуска в c: \ inetpub \ wwwroot \ backoffice
  2. в IIS:  введите описание изображения здесь

  3. Я даже добавил свой сайт в местную интрасеть в опциях интрасети, а также:  введите описание изображения здесь

он просто продолжает снова и снова запрашивать учетные данные:

введите здесь описание изображения


person Rotem Orbach    schedule 23.06.2018    source источник
comment
Потому что вы указали аутентификацию пользователя на запрос имени пользователя и пароля в настройках безопасности!   -  person Kaj    schedule 23.06.2018
comment
Работает ли просто [Authorize]? Возможно, вам не нужно указывать имя ПК, и он не работает, потому что не распознает имя пользователя.   -  person Camilo Terevinto    schedule 23.06.2018
comment
Возможный дубликат Как запретить IIS запрашивать аутентификацию для веб-сайт по умолчанию на localhost   -  person TAHA SULTAN TEMURI    schedule 23.06.2018
comment
Привет, @Kaj, он все равно не работает, даже если я установил в настройках Интернета анонимный вход   -  person Rotem Orbach    schedule 23.06.2018
comment
@TAHASULTANTEMURI, это не так. Я попробовал там предложения, и это не сработало.   -  person Rotem Orbach    schedule 23.06.2018


Ответы (1)


просто чтобы попытаться помочь любому, кто столкнется с этим вопросом: что я сделал, чтобы решить проблему, было: щелкните проект в VS. нажмите F4, чтобы перейти к свойствам. Установите для параметра «Аутентификация анонимуса» значение «Отключено»

в web.config:

<authentication mode="Windows"></authentication>
<authorization>
  <allow users="*" />
</authorization>

и в вашем контроллере:

    [Authorize(Users = @"pcName\user")]
    public ActionResult ForAdministrator()
    {
        return View();
    }

    // Authorization with windows authentication (user)
    [Authorize(Users = @"pcName\user")]
    public ActionResult ForUser()
    {
        return View();
    }

где pcName - это имя вашего компьютера (не РАБОЧАЯ ГРУППА!)

Таким образом вы можете контролировать, кому разрешено (поскольку аутентификация анонимуса отключена).

Надеюсь, это кому-то поможет. Rotem

person Rotem Orbach    schedule 14.07.2018