#c# #asp.net-core-3.1 #angular10
#c# #asp.net-core-3.1 #angular10
Вопрос:
Я хочу сгенерировать PDF-документ для данного URL-адреса. Клиент отправит идентификаторы, и с помощью этого идентификатора сервер создаст URL-адрес и использует генератор pdf для создания pdf. PDF создается, но для страницы входа, а не для желаемой страницы.
Клиент — angular 10, сервер — .net core 3.1 Файлы cookie аутентификации назначаются обложке pdf, но по-прежнему безуспешно.
код
private FileContentResult PdfGenerate(int bookId, int? pageId)
{
//generate pdf for this url. This url can be accessed in the browser
string url = $"{ConfigHelper.AngularServer}/portal/{bookId}/{pageId}";
}
В настоящее время я пробовал использовать SelectPdf и Synfusion, но страница входа преобразуется в PDF, а не страница в URL.
Комментарии:
1. Что происходит, когда вы просматриваете
$"{ConfigHelper.AngularServer}/portal/{bookId}/{pageId}"
URL-адрес непосредственно в браузере?2. @ChetanRanpariya отображается веб-страница с идентификатором книги и идентификатором страницы
Ответ №1:
Проблема в том, что при доступе к указанной странице вы автоматически перенаправляетесь на страницу входа в систему, поскольку вы не авторизованы. Что вам нужно, так что получите токен аутентификации (предварительно аутентифицируйтесь), а затем отправьте фактический запрос с добавлением токена в файлы cookie / заголовки (независимо от системы, используемой для входа в систему).
Для чтения страницы человеком через браузер браузер выполняет это действие за вас автоматически. Вы переходите на страницу входа в систему, проходите аутентификацию (вводите логин / пароль, нажимаете подтвердить), сервер подтверждает, что вы авторизованы, и предоставляет вам некоторые сведения о токене. Затем этот токен добавляется к каждому вашему запросу к веб-серверу.
Дополнительная информация: есть пример того, как это работает с некоторым кодом https://fullstackmark.com/post/21/user-authentication-and-identity-with-angular-aspnet-core-and-identityserver .
Однако в Интернете есть много статей, и эта тема слишком широка, чтобы получить исчерпывающий ответ. Нам нужно знать, какая авторизация используется, каков адрес входа и какие требования предъявляются к авторизации и т.д.
Комментарии:
1. Я назначаю файлы cookie аутентификации, как указано в вопросе. Например, файл cookie foreach (var в запросе. Файлы cookie) { конвертер. Опции. HttpCookies. Добавить (cookie. Ключ, файл cookie. Значение); } Когда я проверяю аутентификацию, она проходит успешно, но похоже, что при достижении страницы входа в систему происходит сбой.