Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
Наконец-то превращается в нечто юзабельное. http://blogs.msdn.com/b/webdev/archive/2014/03/20/test-announcing-rtm-of-asp-net-identity-2-0-0.aspx Из главного: + Поддержка двух-факторной аутентификации + Подтверждение регистрации + Сброс пароля + Блокировка аккаунта + Выход "отовсюду" (сделать куки на всех браузерах неактуальными) Из болезненного: + теперь можно сделать ключ любого типа (ранее был String), без плясок + IQueryable для пользователей и ролей без ковыряния DbContext + удаление пользователя + уникальный индекс на имя пользователя + продвинутый валидатор пароля Понятное дело, обновление до 2.0 порушит работу приложения к чертям. Самое меньшее, что придётся сделать, это сотворить миграцию для контекста базы данных. Если вы добавляли такие поля для пользователя Email, IsConfirmed, придётся их грохнуть, так теперь они идут "изкаропки". Подробней о том, как заапгрейдиться, здесь: http://blogs.msdn.com/b/webdev/archive/2013/12/20/updating-asp-net-applications-from-asp-net-identity-1-0-to-2-0-0-alpha1.aspx Немного не в тему. В очередной раз вендорные товарищи подтверждают, что IQueryable отлично катит в качестве интерфейса для репозитория, а кто до сих пор самоотверженно колбасит прослойку с выдачей IEnumerable/IList пусть жуют бублики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 00:22 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
Добрый день. Не могу понять (найти) как настроить ASP.NET Identity на определение ролей пользователя из БД. Получилось так что роль считывается на момент аутенфикации пользователя, и до следующего входа, роли не меняются . Есть ли такая настройка или нужно возвращаться к кастомролепровайдер ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2014, 10:31 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
Andrey1306Получилось так что роль считывается на момент аутенфикации пользователя, и до следующего входа, роли не меняются . Да, это так. Но ASP.NET Identity тут вообще не при чём. Любой другой механизм, который сторит шифрованный тикет в куках будет та же самая история. Чтобы избежать "кеширования" ролей, надо написать кастомный фильтр, который будет перепроверять состояние логина и сохранять его, допустим, в сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2014, 10:44 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVostt, Спасибо, я вчера и начал фильтр делать, но в нем стал использовать стандартное user.isinrole("") )). Придеться чуток переделать благо фильтр уже готов. А не подскажите тогда , как можно фильтр использовать в chtml ? или все таки статический класс ? @if (User.IsInRole("Administrator")) { <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"> servises<span class="caret"></span> </a> <ul class="dropdown-menu"> <li>@Html.ActionLink("service1", "Index", "Service", new { area = "HundredFour" }, null)</li> </ul> </li> } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2014, 10:58 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
Andrey1306как можно фильтр использовать в chtml чтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова. чтобы этого не приходилось делать, есть решение, описано оно здесь: http://stackoverflow.com/questions/19487322/what-is-asp-net-identitys-iusersecuritystampstoretuser-interface/19505060#19505060 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2014, 11:32 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttAndrey1306как можно фильтр использовать в chtml чтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова. чтобы этого не приходилось делать, есть решение, описано оно здесь: http://stackoverflow.com/questions/19487322/what-is-asp-net-identitys-iusersecuritystampstoretuser-interface/19505060#19505060 О я протупил, я же эту настройку сам в 30 минут выставил ))))) а изменения сижу и сразу жду. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2014, 12:33 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова Не фантазируй )) UserManagerExtensions.IsInRole<TUser, TKey> Роли подхватываются на лету из базы, всё прозрачно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 09:38 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУНе фантазируй )) UserManagerExtensions.IsInRole<TUser, TKey> Роли подхватываются на лету из базы, всё прозрачно. да что ты говоришь?! осталось передать инстанс юзер менеджера во все слои, где он даром не сдался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:08 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
... и в атрибуты, и в фильтры, и в байндинг, и в валидацию, и во вью... что уж там говорить, размазать по слоям через статик и усё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:09 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
[Authorize(Roles = "role1, role2")] сразу на помойку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:10 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttда что ты говоришь?! Как связано это hVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова с вот этим hVosttосталось передать инстанс юзер менеджера во все слои, где он даром не сдался ? hVostt... и в атрибуты, и в фильтры, и в байндинг, и в валидацию, и во вью... что уж там говорить, размазать по слоям через статик и усё Куда надо, туда и передавай. Не вижу повода паники. Ты используешь IoC для того, чтобы бояться инжектировать зависимости? hVostt[Authorize(Roles = "role1, role2")] сразу на помойку CustomAuthorize ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:33 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова. Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:35 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУhVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова. Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко. это технически. смена SecurityStamp заставляет программу пользователя перелогинить, незаметно для самого пользователя. и это более секьюрно и правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:45 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУhVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова. Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко. и давай рассмотрим другую ситуацию. ты меняешь чужому пользователю пароль через админку. а пользователь как ходил, так и ходит на сайт с сохранённой кукой. ну-ка, какое расширение для юзер менеджера посоветуешь? что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 10:47 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttМСУпропущено... Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко. это технически. смена SecurityStamp заставляет программу пользователя перелогинить, незаметно для самого пользователя. и это более секьюрно и правильно. Не тупи, зачем изобретать костыли. Если хочешь, чтобы работали штатные роли, напиши свой провайдер ролей, вот тут есть рецепт http://codearticles.ru/articles/2485 Ты предлагаешь бред, извини. hVosttи давай рассмотрим другую ситуацию. ты меняешь чужому пользователю пароль через админку. а пользователь как ходил, так и ходит на сайт с сохранённой кукой. ну-ка, какое расширение для юзер менеджера посоветуешь? что делать? Жжешь. Если я сменю ему пароль, он больше не войдет на сайт Кука - это клиентские перманентные данные, они никоим образом не коррелирует с серверной безопасностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:00 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУЕсли хочешь, чтобы работали штатные роли, напиши свой провайдер ролей У меня, кстати, во многих проектах используется и использовался свой провайдер ролей, особенно для windows аутентификации. Написал провайдер, подключил и всё штатно работает без проблем. Отличный способ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:04 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУЖжешь. Если я сменю ему пароль, он больше не войдет на сайт Кука - это клиентские перманентные данные, они никоим образом не коррелирует с серверной безопасностью. Предлагаю тебе проверить это утверждение на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:14 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУУ меня, кстати, во многих проектах используется и использовался свой провайдер ролей, особенно для windows аутентификации. Написал провайдер, подключил и всё штатно работает без проблем. Отличный способ. В ASP.NET Identity уже есть провайдер ролей, зачем я буду переписывать его, если он отлично справляется со своей задачей? Или хочешь сказать разработчики что-то не учли? Да и раньше роли кешировались в тикете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:18 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУНе тупи, зачем изобретать костыли. Если хочешь, чтобы работали штатные роли, напиши свой провайдер ролей, вот тут есть рецепт http://codearticles.ru/articles/2485 Ты предлагаешь бред, извини. Чем те нативный фильтр не угодил? И на кой ляд лазить в БД за ролью, когда она уже есть в тикете? Меняешь роль у пользователя, сбрасывай ему SecurityStamp, и не придётся вставлять такие жуткие костыли, как ты привёл в рецепте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:20 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttПредлагаю тебе проверить это утверждение на практике. Ты шутишь? )) Это подтверждено многолетней практикой, инфа 147%. Даже не думай спорить. hVosttВ ASP.NET Identity уже есть провайдер ролей, зачем я буду переписывать его, если он отлично справляется со своей задачей? Или хочешь сказать разработчики что-то не учли? Да и раньше роли кешировались в тикете. ASP.NET Identity нету провайдера ролей, он один и глобален для всего ASP.NET - это секция roleManager в web.config. В ASP.NET Identity есть неплохая обвязка над ролями - где надо, пользуйся. Я не про кеширование говорю, оно было и есть (читай про ключ cacheRolesInCookie ). Я говорю про то, что каждый реквест должен ходить в базу и проверять актуальность ролей и доступность пользователя - это основа основ. Никаких костылей, всё просто и внятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:24 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttЧем те нативный фильтр не угодил? И на кой ляд лазить в БД за ролью, когда она уже есть в тикете? Меняешь роль у пользователя, сбрасывай ему SecurityStamp, и не придётся вставлять такие жуткие костыли, как ты привёл в рецепте. Я не против нативного фильтра, используй его вместе со своим провайдером ролей. Зачем неактуальная роль в тикете, если она есть актуальная в БД? А потом появляются вот такие эпические кейсы: hVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова hVosttэто технически. смена SecurityStamp заставляет программу пользователя перелогинить, незаметно для самого пользователя. Это не наш метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:27 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
hVosttМСУНе тупи, зачем изобретать костыли. Если хочешь, чтобы работали штатные роли, напиши свой провайдер ролей, вот тут есть рецепт http://codearticles.ru/articles/2485 Ты предлагаешь бред, извини. Чем те нативный фильтр не угодил? И на кой ляд лазить в БД за ролью, когда она уже есть в тикете? Меняешь роль у пользователя, сбрасывай ему SecurityStamp, и не придётся вставлять такие жуткие костыли, как ты привёл в рецепте.Накой лепить костыли вроде SecurityStamp, если производительность позволяет каждый раз лазить в базу. Накой сделано кэширование по дефолту информации о пользователе - непонятно. Microsoft скоро рухнет под тяжестью своего идиотизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:27 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУЯ говорю про то, что каждый реквест должен ходить в базу и проверять актуальность ролей и доступность пользователя - это основа основ. Никаких костылей, всё просто и внятно.+1234567890 Выбесила эта преждевременная оптимизация. Изменить поведение провайдера ролей несложно. Но какого уя я спрашиваю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:29 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
МСУТы шутишь? )) Это подтверждено многолетней практикой, инфа 147%. Даже не думай спорить. ASP.NET Identity от роду и года-то нет, взгляни пожалуйста на заголовок темы, мы о нём говорим =) МСУASP.NET Identity нету провайдера ролей, он один и глобален для всего ASP.NET - это секция roleManager в web.config. В ASP.NET Identity есть неплохая обвязка над ролями - где надо, пользуйся. Я не про кеширование говорю, оно было и есть (читай про ключ cacheRolesInCookie ). Я говорю про то, что каждый реквест должен ходить в базу и проверять актуальность ролей и доступность пользователя - это основа основ. Никаких костылей, всё просто и внятно. От тут ты ошибаешься, ещё как есть, Simple Role Provider, работающий поверх OWIN модуля. И зачем каждый реквест должен ходить в базу и проверять актуальность ролей, если достоверно известно, что в куках актуальная инфа, и по-другому быть не может (при правильной работе с SecurityStamp)? Костыли у тебя в том, что ты делаешь ненужную работу. Я пользуюсь User.IsInRole, а ты похоронил этот способ в угоду бредовой идее. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:32 |
|
||
|
ASP.NET Identity 2.0.0
|
|||
|---|---|---|---|
|
#18+
Алексей КНакой лепить костыли вроде SecurityStamp, если производительность позволяет каждый раз лазить в базу. Накой сделано кэширование по дефолту информации о пользователе - непонятно. Microsoft скоро рухнет под тяжестью своего идиотизма. А в чём проблема-то не пойму? Кеширование это всегда хорошо. Тем более на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2014, 11:34 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38713760&tid=1356701]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 418ms |

| 0 / 0 |
