powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Identity 2.0.0
25 сообщений из 90, страница 1 из 4
ASP.NET Identity 2.0.0
    #38594097
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то превращается в нечто юзабельное.

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 пусть жуют бублики
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38712773
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Не могу понять (найти) как настроить ASP.NET Identity на определение ролей пользователя из БД.

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

Есть ли такая настройка или нужно возвращаться к кастомролепровайдер ?
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38712784
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey1306Получилось так что роль считывается на момент аутенфикации пользователя, и до следующего входа, роли не меняются .

Да, это так. Но ASP.NET Identity тут вообще не при чём. Любой другой механизм, который сторит шифрованный тикет в куках будет та же самая история. Чтобы избежать "кеширования" ролей, надо написать кастомный фильтр, который будет перепроверять состояние логина и сохранять его, допустим, в сессии.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38712794
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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>

}
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38712832
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey1306как можно фильтр использовать в chtml

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

чтобы этого не приходилось делать, есть решение, описано оно здесь:

http://stackoverflow.com/questions/19487322/what-is-asp-net-identitys-iusersecuritystampstoretuser-interface/19505060#19505060
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38712921
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAndrey1306как можно фильтр использовать в chtml

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

чтобы этого не приходилось делать, есть решение, описано оно здесь:

http://stackoverflow.com/questions/19487322/what-is-asp-net-identitys-iusersecuritystampstoretuser-interface/19505060#19505060

О я протупил, я же эту настройку сам в 30 минут выставил ))))) а изменения сижу и сразу жду. Спасибо.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713687
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова
Не фантазируй )) UserManagerExtensions.IsInRole<TUser, TKey>
Роли подхватываются на лету из базы, всё прозрачно.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713715
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе фантазируй )) UserManagerExtensions.IsInRole<TUser, TKey>
Роли подхватываются на лету из базы, всё прозрачно.

да что ты говоришь?!

осталось передать инстанс юзер менеджера во все слои, где он даром не сдался.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713718
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и в атрибуты, и в фильтры, и в байндинг, и в валидацию, и во вью... что уж там говорить, размазать по слоям через статик и усё
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713720
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Authorize(Roles = "role1, role2")]

сразу на помойку
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713741
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttда что ты говоришь?!

Как связано это

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

с вот этим

hVosttосталось передать инстанс юзер менеджера во все слои, где он даром не сдался

?

hVostt... и в атрибуты, и в фильтры, и в байндинг, и в валидацию, и во вью... что уж там говорить, размазать по слоям через статик и усё

Куда надо, туда и передавай. Не вижу повода паники. Ты используешь IoC для того, чтобы бояться инжектировать зависимости?

hVostt[Authorize(Roles = "role1, role2")]
сразу на помойку
CustomAuthorize
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713745
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова.
Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713755
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова.
Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко.

это технически. смена SecurityStamp заставляет программу пользователя перелогинить, незаметно для самого пользователя. и это более секьюрно и правильно.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713760
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttчтобы после изменения набора ролей у пользователя, эти роли работали пользователю надо выйти и зайти снова.
Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко.

и давай рассмотрим другую ситуацию. ты меняешь чужому пользователю пароль через админку. а пользователь как ходил, так и ходит на сайт с сохранённой кукой.

ну-ка, какое расширение для юзер менеджера посоветуешь? что делать?
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713798
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУпропущено...

Вот за это можно сразу расстреливать разработчика. Бесцеремонно и жестко.

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

Не тупи, зачем изобретать костыли. Если хочешь, чтобы работали штатные роли, напиши свой провайдер ролей, вот тут есть рецепт http://codearticles.ru/articles/2485

Ты предлагаешь бред, извини.

hVosttи давай рассмотрим другую ситуацию. ты меняешь чужому пользователю пароль через админку. а пользователь как ходил, так и ходит на сайт с сохранённой кукой.

ну-ка, какое расширение для юзер менеджера посоветуешь? что делать?
Жжешь. Если я сменю ему пароль, он больше не войдет на сайт Кука - это клиентские перманентные данные, они никоим образом не коррелирует с серверной безопасностью.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713806
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЕсли хочешь, чтобы работали штатные роли, напиши свой провайдер ролей
У меня, кстати, во многих проектах используется и использовался свой провайдер ролей, особенно для windows аутентификации. Написал провайдер, подключил и всё штатно работает без проблем. Отличный способ.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713821
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЖжешь. Если я сменю ему пароль, он больше не войдет на сайт Кука - это клиентские перманентные данные, они никоим образом не коррелирует с серверной безопасностью.

Предлагаю тебе проверить это утверждение на практике.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713827
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУУ меня, кстати, во многих проектах используется и использовался свой провайдер ролей, особенно для windows аутентификации. Написал провайдер, подключил и всё штатно работает без проблем. Отличный способ.

В ASP.NET Identity уже есть провайдер ролей, зачем я буду переписывать его, если он отлично справляется со своей задачей? Или хочешь сказать разработчики что-то не учли? Да и раньше роли кешировались в тикете.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713829
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе тупи, зачем изобретать костыли. Если хочешь, чтобы работали штатные роли, напиши свой провайдер ролей, вот тут есть рецепт http://codearticles.ru/articles/2485

Ты предлагаешь бред, извини.

Чем те нативный фильтр не угодил? И на кой ляд лазить в БД за ролью, когда она уже есть в тикете? Меняешь роль у пользователя, сбрасывай ему SecurityStamp, и не придётся вставлять такие жуткие костыли, как ты привёл в рецепте.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713836
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПредлагаю тебе проверить это утверждение на практике.
Ты шутишь? )) Это подтверждено многолетней практикой, инфа 147%. Даже не думай спорить.

hVosttВ ASP.NET Identity уже есть провайдер ролей, зачем я буду переписывать его, если он отлично справляется со своей задачей? Или хочешь сказать разработчики что-то не учли? Да и раньше роли кешировались в тикете.
ASP.NET Identity нету провайдера ролей, он один и глобален для всего ASP.NET - это секция roleManager в web.config. В ASP.NET Identity есть неплохая обвязка над ролями - где надо, пользуйся. Я не про кеширование говорю, оно было и есть (читай про ключ cacheRolesInCookie ). Я говорю про то, что каждый реквест должен ходить в базу и проверять актуальность ролей и доступность пользователя - это основа основ. Никаких костылей, всё просто и внятно.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713839
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЧем те нативный фильтр не угодил? И на кой ляд лазить в БД за ролью, когда она уже есть в тикете? Меняешь роль у пользователя, сбрасывай ему SecurityStamp, и не придётся вставлять такие жуткие костыли, как ты привёл в рецепте.
Я не против нативного фильтра, используй его вместе со своим провайдером ролей. Зачем неактуальная роль в тикете, если она есть актуальная в БД? А потом появляются вот такие эпические кейсы:

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

hVosttэто технически. смена SecurityStamp заставляет программу пользователя перелогинить, незаметно для самого пользователя.

Это не наш метод.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713840
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУНе тупи, зачем изобретать костыли. Если хочешь, чтобы работали штатные роли, напиши свой провайдер ролей, вот тут есть рецепт http://codearticles.ru/articles/2485

Ты предлагаешь бред, извини.

Чем те нативный фильтр не угодил? И на кой ляд лазить в БД за ролью, когда она уже есть в тикете? Меняешь роль у пользователя, сбрасывай ему SecurityStamp, и не придётся вставлять такие жуткие костыли, как ты привёл в рецепте.Накой лепить костыли вроде SecurityStamp, если производительность позволяет каждый раз лазить в базу. Накой сделано кэширование по дефолту информации о пользователе - непонятно. Microsoft скоро рухнет под тяжестью своего идиотизма.
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713847
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЯ говорю про то, что каждый реквест должен ходить в базу и проверять актуальность ролей и доступность пользователя - это основа основ. Никаких костылей, всё просто и внятно.+1234567890

Выбесила эта преждевременная оптимизация. Изменить поведение провайдера ролей несложно. Но какого уя я спрашиваю?
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713856
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТы шутишь? )) Это подтверждено многолетней практикой, инфа 147%. Даже не думай спорить.

ASP.NET Identity от роду и года-то нет, взгляни пожалуйста на заголовок темы, мы о нём говорим =)

МСУASP.NET Identity нету провайдера ролей, он один и глобален для всего ASP.NET - это секция roleManager в web.config. В ASP.NET Identity есть неплохая обвязка над ролями - где надо, пользуйся. Я не про кеширование говорю, оно было и есть (читай про ключ cacheRolesInCookie ). Я говорю про то, что каждый реквест должен ходить в базу и проверять актуальность ролей и доступность пользователя - это основа основ. Никаких костылей, всё просто и внятно.

От тут ты ошибаешься, ещё как есть, Simple Role Provider, работающий поверх OWIN модуля. И зачем каждый реквест должен ходить в базу и проверять актуальность ролей, если достоверно известно, что в куках актуальная инфа, и по-другому быть не может (при правильной работе с SecurityStamp)? Костыли у тебя в том, что ты делаешь ненужную работу. Я пользуюсь User.IsInRole, а ты похоронил этот способ в угоду бредовой идее. Зачем?
...
Рейтинг: 0 / 0
ASP.NET Identity 2.0.0
    #38713860
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНакой лепить костыли вроде SecurityStamp, если производительность позволяет каждый раз лазить в базу. Накой сделано кэширование по дефолту информации о пользователе - непонятно. Microsoft скоро рухнет под тяжестью своего идиотизма.

А в чём проблема-то не пойму? Кеширование это всегда хорошо. Тем более на клиенте.
...
Рейтинг: 0 / 0
25 сообщений из 90, страница 1 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Identity 2.0.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]