Size: a a a

BY Microsoft .NET User Group

2019 June 03

DM

Dzmitry Martavoi in BY Microsoft .NET User Group
Oauth протокол авторизации
источник

DM

Dzmitry Martavoi in BY Microsoft .NET User Group
На клеймах тех же авторизацию делать можно
источник

DM

Dzmitry Martavoi in BY Microsoft .NET User Group
Я вот только не понял как graphql связан с авторизацией
источник

AP

Arciom Prudnikaŭ in BY Microsoft .NET User Group
тут этого никто не понял...
источник

A

Andre in BY Microsoft .NET User Group
Ну где-то надо вешать проверку ролей
источник

A

Andre in BY Microsoft .NET User Group
На контроллеры не повесишь, надо вешать на резолверы
источник

A

Andre in BY Microsoft .NET User Group
Но да, связи как таковой нет
источник

A

Anatoly in BY Microsoft .NET User Group
Andre
На контроллеры не повесишь, надо вешать на резолверы
мы сделали абсолютно тупые резолверы, мидлварю, которая делала аутентификацию, и всё. а сервисы там сами разбирались кто и что. почти оаутх только проще
источник
2019 June 04

SK

Siarhei Kurylkin in BY Microsoft .NET User Group
Не про роли, а про пермишенны речь) сейчас, бизнесдомен сильно изменен, потому может не сильно логичной задача выглядеть, в нашем домене все красиво) есть сайт со статьями, у статьи есть автор. У редактора по определенной теме и стране (скажем спорт, Россия)  есть определенные права для статьи (удалить изменить). Статьи могут видеть только фоловеры (автора или темы+страны) + рейтинг (18+,0+). Может еще несколько ролей, с такими же сложными связями, и не являющимися ролями в приложении,  но ролями по отношению к сущности "статья", и в нашем домене  чтоб высчитать некоторые пермишены нужно в некоторых случая до 5 джоинов делать. Так вот есть query в gql, Articles{items:{ID, name, permissions:{...} }} тут нет проблемы с ID и name, мы их выбираем с помощью даталодера, но в том же запросе тянуть пермишены очень тяжело по производительности, и тянуть из все в одном запросе тоже, чаще всего понадобится 2-3 из 10. Зачем вообще они нужны в gql? Изза сложных правил их расчета, лучше их один раз описать в сервисе на бэке и отдавать на фронт, чтоб при изменении ничего не ломалось, и не надо было сложных расчетов на фронте. В ресте скорее всего бы в 1-2 запроса к базе  это все делалось, изза того что не нужна эта универсальность gql.
источник

A

Anatoly in BY Microsoft .NET User Group
Siarhei Kurylkin
Не про роли, а про пермишенны речь) сейчас, бизнесдомен сильно изменен, потому может не сильно логичной задача выглядеть, в нашем домене все красиво) есть сайт со статьями, у статьи есть автор. У редактора по определенной теме и стране (скажем спорт, Россия)  есть определенные права для статьи (удалить изменить). Статьи могут видеть только фоловеры (автора или темы+страны) + рейтинг (18+,0+). Может еще несколько ролей, с такими же сложными связями, и не являющимися ролями в приложении,  но ролями по отношению к сущности "статья", и в нашем домене  чтоб высчитать некоторые пермишены нужно в некоторых случая до 5 джоинов делать. Так вот есть query в gql, Articles{items:{ID, name, permissions:{...} }} тут нет проблемы с ID и name, мы их выбираем с помощью даталодера, но в том же запросе тянуть пермишены очень тяжело по производительности, и тянуть из все в одном запросе тоже, чаще всего понадобится 2-3 из 10. Зачем вообще они нужны в gql? Изза сложных правил их расчета, лучше их один раз описать в сервисе на бэке и отдавать на фронт, чтоб при изменении ничего не ломалось, и не надо было сложных расчетов на фронте. В ресте скорее всего бы в 1-2 запроса к базе  это все делалось, изза того что не нужна эта универсальность gql.
я до сих пор не понимаю, как расчёт пермишенов отличается в ресте и gql, учитывая, что это просто протоколы запросов и ответов.
источник

A

Anatoly in BY Microsoft .NET User Group
если вам надо в 2-3 из 10 случаев пермишены, и вы почему-то (непонятно только почему) не можете их загрузку описать через gql достаточно быстро, напишите метод в протокол, в класс статей. "Дай мне статьи с пермишенами, вот тебе ид"
источник

A

Anatoly in BY Microsoft .NET User Group
и делайте в нём любую кастомную логику
источник

SK

Siarhei Kurylkin in BY Microsoft .NET User Group
Так не все же пермишены нужны. Мне надо для каждой страницы разный набор их, что там будет юзер делать. А описывать отдельный эндпоинт для каждой, тогда в чем вообще тут смысл и профит от gql?
источник

A

Anatoly in BY Microsoft .NET User Group
Siarhei Kurylkin
Так не все же пермишены нужны. Мне надо для каждой страницы разный набор их, что там будет юзер делать. А описывать отдельный эндпоинт для каждой, тогда в чем вообще тут смысл и профит от gql?
ещё раз. вот сущность "статья".
источник

A

Anatoly in BY Microsoft .NET User Group
как меняются пермишены на доступ к ней при переходе от реста к графкуэлю?
источник

A

Anatoly in BY Microsoft .NET User Group
Siarhei Kurylkin
Так не все же пермишены нужны. Мне надо для каждой страницы разный набор их, что там будет юзер делать. А описывать отдельный эндпоинт для каждой, тогда в чем вообще тут смысл и профит от gql?
профит в скорости прототипирования и разработки. не надо полгода ждать, пока бэкенд команда осилит navigation properties.
источник

AT

Alexey Tkachenko in BY Microsoft .NET User Group
Anatoly
профит в скорости прототипирования и разработки. не надо полгода ждать, пока бэкенд команда осилит navigation properties.
есть тайный вариант 🙊
источник

A

Anatoly in BY Microsoft .NET User Group
Alexey Tkachenko
есть тайный вариант 🙊
сделать самому? да ну нафиг, это ж в бекендовом коде копаться. а там дотнеты, плюс и сиквел. нет хтмл, цсс и тс.
источник

A

Andre in BY Microsoft .NET User Group
Ну навигейшн проперти тоже делать надо в графкл и если их нет изначально тоже ждать
источник

RY

Ruslan Yakauleu in BY Microsoft .NET User Group
Говорят в телеграмме можно орфографические ошибки исправлять
источник