Сохранение входа/регистрации в JS, а не в виде бритвы при создании проекта Core 3 с Angular

Также происходит с реакцией и созданием нового проекта в VS. Любой вход/регистрация использует макет/представления Razor, а все остальное использует angulars.

Новичок в angular, но наличие 2 версий макета сайта не является СУХИМ, но с использованием строительных лесов по умолчанию, я предполагаю, что на это есть причина. Не найдя ничего о том, почему и как преобразовать, чтобы использовать только угловые представления.

Простой пример: если я запускаю новый проект и изменяю сгенерированный файл login-menu.component.html, чтобы он имел красную ссылку для входа. Щелкнув по нему, вы загрузите сгенерированное представление MVC, и оно снова станет черным. Мне пришлось бы переодеться в обоих местах, чтобы он оставался красным.


person VirtualLife    schedule 24.09.2019    source источник
comment
Это не 2 версии, это всего лишь один сайт. Представление рендерит HTML и Javascript и отправляет их в браузер для выполнения. Этот Javascript может содержать код Angular для выполнения на клиенте. Даже Angular использует рендеринг на стороне сервера, когда это возможно.   -  person Panagiotis Kanavos    schedule 24.09.2019
comment
Думаю, вы неправильно поняли. JavaScript не имеет ничего общего с вопросом. Один и тот же макет создается с помощью angular и MVC, и оба они используются по умолчанию. Таким образом, те же изменения должны быть внесены в HTML-код angular и HTML-макет MVC.   -  person VirtualLife    schedule 25.09.2019
comment
Должно быть решение... Лучшая практика для углового приложения с идентификацией и ядром .net не может быть перенаправлена ​​на бритву.   -  person Jeff Longo    schedule 06.01.2020


Ответы (1)


Для шаблона Asp.Net Core Angualr с идентификацией он сочетается с Angular View и Identity Library, которая является бритвенным представлением. Это по дизайну.

Для Identity он разработан с Identity Library, которая называется Razor Library.

При нажатии на ссылку «Войти» из Angular login-menu.component.html страница перенаправляется на страницу входа в библиотеку удостоверений.

Вам необходимо переопределить страницы в Identity Library, чтобы изменить страницу входа.

person Edward    schedule 25.09.2019
comment
Правильно, это просто кажется плохим дизайном. Было любопытно, есть ли какие-нибудь примеры, чтобы избавиться от бритвенных представлений, не просматривая 50 странных файлов, чтобы выяснить, что нужно изменить. Поймите, это ново, но можно надеяться. - person VirtualLife; 25.09.2019
comment
Ты обошёл это, @VirtualLife? Это кажется неправильным. - person Dirk Wessels; 15.02.2020
comment
@DirkWessels Нет, пришлось отказаться от angular. Из того, что я понял, вам нужно переписать/изменить весь предварительно созданный код. - person VirtualLife; 16.02.2020
comment
Вы вообще отказались от Angular? Это проблема Visual Studio/Identity, а не проблема Angular. В другом проекте .Net Core 2.2 я просто закодировал .Net API (по-прежнему используя Identity Server, но без сгенерированного .Net html/javascript) и внешний интерфейс Angular отдельно и использовал свой собственный код для входа в систему и передачи токена JWT. Похоже, я буду делать то же самое с этим новым проектом. - person Dirk Wessels; 17.02.2020
comment
@DirkWessels Поймите, это было давно. Да, отказался от Angular. Создал один и тот же проект во всех трех фреймворках и обнаружил, что Angular содержит больше всего кода и труднее всего отлаживать. У него больше функциональности, но в целом react/vue показался лучше. Vue был окончательным выбором из-за его легкости и простоты. Согласен, это была скорее проблема VS, которая, возможно, стала лучше. - person VirtualLife; 12.06.2020