Size: a a a

2020 January 28

B

Bretbas in pro.net
Николай
Да для начала просто сделать кастомные policy, которые будут проверять иерархию ролей
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-3.1#authorization-handlers
я посмотрю, спасибо
источник

VO

Vitaliy Orlov in pro.net
Bretbas
@LostCoast , а в какой момент ClaimsPrincipal восстанавливает asp.net core?
этот момент можно переопределить?

Чтобы роли(допустим я пока их использовать буду), восстанавливать по Id пользователя(Id пользователя будет хранится в токене).

Просто на данный момент времени все роли хранятся у меня в токене, и это мне не очень нравится, так как пользователю приходится перевыпускать токен, когда обновляется список его ролей.

Я бы хотел хранить некий потокобезопасный кеш, который для пользователя, при выпуске токена, будет из БД вытаскивать его роли и ложить в него.
И при восстановке ClaimsPrincipal брать роли из кеша
там скорее всего вешается свой Authrization фильтр
источник

B

Bretbas in pro.net
Vitaliy Orlov
там скорее всего вешается свой Authrization фильтр
вы наверное не поняли меня
источник

B

Bretbas in pro.net
asp.net core identity восстанавливает IPrincipal каждый раз при каждом запросе, так?
Ложит его в HttpContext, или в контекст потока. Так?
источник

B

Bretbas in pro.net
Вот можно ли переопределить поведение восстановления?
источник

VO

Vitaliy Orlov in pro.net
угу
источник

VO

Vitaliy Orlov in pro.net
Bretbas
Вот можно ли переопределить поведение восстановления?
тут не подскажу
источник

N

Nail in pro.net
Что значит "восстанавливает"?
источник

B

Bretbas in pro.net
Nail
Что значит "восстанавливает"?
создает  IPrincipal(реализацию ClaimsPrincipal)
источник

VO

Vitaliy Orlov in pro.net
я просто не использовал identity для всего этого
источник

DP

Denis Petukhov in pro.net
Запили свою мидлвару например вместо дефолтной от Identity
источник

DP

Denis Petukhov in pro.net
Или сделай не вместо а другую мидлвару которая будет отрабатывать после
источник

B

Bretbas in pro.net
Denis Petukhov
Запили свою мидлвару например вместо дефолтной от Identity
и писать роли из кеша в уже существующий IPrincipal?
источник

DP

Denis Petukhov in pro.net
Bretbas
и писать роли из кеша в уже существующий IPrincipal?
Типа того
источник

B

Bretbas in pro.net
Denis Petukhov
Типа того
хм. так можно.
не костыль?
источник

B

Bretbas in pro.net
я просто где-то видел, что можно прям в их восстановления IPrincipal залезть.
точно помню видел.
источник

DP

Denis Petukhov in pro.net
Я бы просто в токен записал нужные мне клеймы без вот этой шляпы
источник

B

Bretbas in pro.net
Denis Petukhov
Я бы просто в токен записал нужные мне клеймы без вот этой шляпы
я так и делаю сейчас
источник

DP

Denis Petukhov in pro.net
Bretbas
я просто где-то видел, что можно прям в их восстановления IPrincipal залезть.
точно помню видел.
источник

B

Bretbas in pro.net
но мы с тобой обсуждали, что если у пользователя изменятся роль, то нужно или перезайти, или заставить клиенскую сторону к refresh_token
источник