|
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 9
|
|
ASP.NET Web API своя авторизация01.09.2017, 14:21. Показов 15765. Ответов 20
Метки нет (Все метки)
Добрый день! Интересует следующее. Есть готовая база данных с таблицей пользователей. Есть ли возможность, использовать эту таблицу для авторизации пользователей? Искал в интернете, везде предлагают использовать Individual Accounts, но в этом случае будут созданы таблицы самим ASP. А так как база уже в продакшене, этого не хотелось бы, а хотелось бы использовать свою таблицу.
Вообще, идя проекта такова: есть страница, на которой пользователи смогу вводить цены товаров в магазинах (необходимо для статистики). Веб сервер с самой страницей будет находиться отдельно от севера SQL, это раз, а второе, он будет в DMZ зоне. Вот тут я и задумался, как лучше реализовать получение данных из базы. Сначала была идя писать WCF сервис, который сможет запрашивать данные от базы, а результат отображать на странице. И все изминения в базу писать через сервис. Вроде не сложно, но тоже не смог разобраться, как сделать авторизацию пользователей. До этого делал страницы для внутренней сети, в которой использовалась Windows Auth и небыло разграничений прав на странице. Как это реализовать в вебе пока не знаю. С WCF не понятен один момент, как к нему оброщаться из ASP. (Пока были идея использовать HttpClient) Если не сложно, то может натолкнете на идеи? Хотя бы в какю сторону смотреть!
0
|
|
| 01.09.2017, 14:21 | |
|
Ответы с готовыми решениями:
20
Установка Angular 2.3 на ASP .Net Core Web Api Asp.net web api 2 обработка параметра как в MVC |
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
| 04.09.2017, 10:20 | |
|
Полез я сейчас в изучение Angular 2 и делаю тестовый проект с авторизацией через WebApi.
Со стороны сервера все очень просто, проще подключить Identity, чем городить костыли. А в Вашем случае можно еще проще, работать не с Identity в проекте с Individual Accounts, а с авторизацией на основе куки.вот сцылко: Тынц С Identity станет проблема с запросами WebApi, в частности с токенами. Ну, даже если это не такая и большая проблема, то я сейчас ее решаю.
1
|
|
|
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 9
|
|
| 05.09.2017, 08:43 [ТС] | |
|
Вам спасибо за ответы! Буду смотреть и куки и Identity.
А что лучше использовать, WebAPI или на сервере поднимать WCF сервис и к нему обращаться с сайта? Я так понял, что WebAPI удобен когда кросплатформенные клиенты. У меня точно будет только WEB, так что может мне WebApi и не нужен вовсе?
0
|
|
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
| 05.09.2017, 10:19 | |
|
Что лучше знаешь - то и делаешь.
0
|
|
|
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
|
|||
| 07.09.2017, 12:21 | |||
|
laviritel, Используйте систему авторизации Identity - специально для этого и создана.
0
|
|||
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
||
| 07.09.2017, 13:21 | ||
|
0
|
||
|
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
|
||
| 07.09.2017, 13:26 | ||
|
freeba, Работает и очень даже прекрасно. Просто нужно уметь пользоваться.
0
|
||
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
||
| 07.09.2017, 14:05 | ||
|
0
|
||
|
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
|
|||||||||||||||||||||||
| 07.09.2017, 14:44 | |||||||||||||||||||||||
0
|
|||||||||||||||||||||||
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
||
| 07.09.2017, 15:23 | ||
|
0
|
||
|
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
|
||||||||||
| 07.09.2017, 16:01 | ||||||||||
|
То что я написал выше - стандартное решение от microsoft, используемое по-умолчанию в ASP.NET MVC 5 проектах, которое годится и для WEB API 2 проектов. В стандартном решении так же есть асинхронные ф-ции, которые я не посчитал нужным показывать в примере, чтобы было меньше кода. Добавлено через 12 минут
0
|
||||||||||
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
||
| 07.09.2017, 22:18 | ||
|
cyb0rg_01,
Апи добавляют когда требуется предоставить интерфейс для взаимодействия внешним системам. Люди не работают с апи, с апи работают программы - это накладывает некоторые обязательства на реализацию (если, конечно, речь не идет о хоумпаге или интернет магазине с двумя посещениями в сутки), в частности речь идет о масштабировании и эффективном использовании ресурсов. Тот пример что вы привели - калька с обычного ASP.NET MVC и там он будет работать (чуть-чуть допилить SessionStateProvider и система сможет работать в любом количестве воркеров на любом количестве серверов), но он слабо годится для WebApi. Дело в том что даже на мощном сервере с многогигабитным каналом если мы ограничим максимальное число рабочих процессов в пуле IIS одной штукой - то даже при небольшой бомбардировке запросами наше апи начнет впадать в летаргию, хотя нагрузка на сервер будет ничтожна. Поэтому обычно количество рабочих процессов (воркеров) устанавливают в количество ядер процессора плюс один. И в каждом из этих воркеров будет исполнятся экземпляр нашего апи, вроде все хорошо, но эти процессы ничего не знают друг о друге и если юзер авторизовался в одном из них, то другие воркеры об этом ни сном ни духом, а балансеру без разницы в какой воркер отправлять запрос - с его точки зрения они все одинаковы. Вот здесь на сцену и выходит махровое костылестроение. Поэтому никто в здравом уме и не использует Identity вместе с WebApi, не дружат они, хотя при желании и их можно поженить, насильно так сказать.
0
|
||
|
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
|
|||||
| 07.09.2017, 23:54 | |||||
|
https://docs.microsoft.com/en-... in-web-api https://blogs.msdn.microsoft.c... authorize/ http://bitoftech.net/2014/06/0... -identity/ freeba, совсем не понял ваш ответ и каким образом Identity грузит запросы вообще непонятно: и приведите пример вот этого, какие еще десятки классов. Что-то сомневаюсь сильно WebAPI существует на уровне ASP.NET MVC5 приложения. Я Всегда использовал решение от microsoft по-умолчанию, которое работает отлично. То что пишете вы требует подтверждения.
0
|
|||||
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
|
| 08.09.2017, 02:16 | |
|
cyb0rg_01, Вы даже не захотели понять о чем вам говорят и снова тыкаете примеры реализации не пригодные к использованию вне одного процесса. Если когда нибудь просветление вас настигнет, почитайте про вебфермы и особенности адаптации систем к ним - может тогда дойдет для чего Identity подходит, а к чему его придется молотком прибивать.
Вобще тратить время что-то вам доказывая у меня желания нет. Нравится вертеться в кругу заблуждений - дело ваше.
0
|
|
|
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
|
||||||
| 08.09.2017, 09:21 | ||||||
|
0
|
||||||
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
| 08.09.2017, 09:31 | |
|
Вставлю свои 5 копеек.
Если в Identity есть такая проблема с высоконагруженными приложениями, то что мешает в том же Identity использовать JWT. Причем там стандартная поддержка, а любой процесс любого ядра любого пула, получив запрос от приложения сначала проведет авторизацию по токену, а потом уже выполнит метод контроллера WebApi. И никаких костылей не надо.Правда надо немного допилить WebApi, чтобы он при авторизации передавал токен в приложение, но это не костыль
0
|
|
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
||||||
| 15.09.2017, 15:53 | ||||||
|
Кстати, раз зашла такая пьянка, то надо послушать совета более умных товарищей.
Ситуация такая, связанная как-раз с авторизацией веб-приложения через WebApi ASP.NET Core 2.0 Начал разбираться с этим чудом в связке с Angular 2. В шаблонах VS приложение Angular 2 идет в связке с WebApi, но там нет авторизации. Решил прикрутить ручками. В примере была авторизация по JWT, соответственно авторизационных куков нету. Передается токен. В Identity авторизация проходит через куки. Но все-равно прикрутил IdentityВ Core 2.0 в области авторизации есть существенные изменения, так в файле startup.cs в методе Configure вызов:
app.UseAuthentication();Если не использовать SingnInManager для авторизации, но оставить все остальное из Identity для работы с юзверями, то все работает. Сервис авторизации по JWT работает, токен передается в приложение, из приложения он же возвращается в Headers[Authorize] работает. Вот и интересует меня вопрос - такая реализация это костыль, али нет?
0
|
||||||
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||||||||||||||||||||||
| 15.09.2017, 17:57 | ||||||||||||||||||||||||||
|
Не увидел, чем вам не угодил Jwt?
Добавлено через 1 минуту Все ключи можно прописать в appsettings.json и использовать через Configuration. Добавлено через 4 минуты Можно юзать 2 вида авторизации и Default и JWT, но тогда, в нужно будет всего навсего указать -- какой способ авторизации использовать контролом/методом.
0
|
||||||||||||||||||||||||||
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
| 16.09.2017, 12:13 | |
|
Не, мне лично он всем угодил. У меня сделано все так же как и тут. Меня смутило только, что а не костылестроением называется архитектура где
AddIdentity и AddAuthentication в одном флаконе?
0
|
|
| 16.09.2017, 12:13 | |
|
Помогаю со студенческими работами здесь
20
ASP.NET Core + Web API. Как работает эта магия? ASP.NET Core Web API - не приходят данные [FromBody] Post/Put запросов ASP.NET Core Web API - Content negotiation - Error 5000 при отправке XML .Net Core Web Api и Angular 2 Способы развёртывания ASP.NET Core API Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|