|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Добрый день. Реализую небольшой проект, где необходимо применять роли, которые может назначать и снимать администратор. Использую стандартную реализацию IdentityUser, которая создается по дефолту. Выдать/забрать права/роль не проблема, а вот как обновить пользователю его сессию со стороны сервера чтобы недоступные пункты отобразились у него и чтобы это было без ручного перезахода пользователем на сайт. То есть обычный пользователь стал администратором, обновил тут же страницу и увидел несколько новых пунктов меню, которые ранее не были ему доступны. Или наоборот забрать, а сейчас получается, что забираю у пользователя права администратора или вообще удаляю его и пока он вручную не выйдет с аккаунта и не зайдет он все так же может выполнять все функции администратора. Спасибо большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 16:13 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewувидел несколько новых пунктов меню, которые ранее не были ему доступны.обычно перелогин, т.к.кэшируется все подряд. Вам наверно делать нечего. Или ТЗ такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 16:51 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewИли наоборот забрать, а сейчас получается, что забираю у пользователя права администратора или вообще удаляю его и пока он вручную не выйдет с аккаунта ипошли сообщение ему чтобы перелогинился. Либо закрой его сессию если надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 16:53 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Тут даже не то чтобы делать нечего, а обычная логика, что если человека удалили с сайта, то он не может как обычно сидеть и редактировать документы/базу и тд. А сейчас получается, что сайт позволяет это сделать т.к. его сессия кэширована. В Startup.Auth есть такая строчка: app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromSeconds(10), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); в данном случае я поставил чтобы каждые 10 секунд проверялись на сервере все валидации, но считаю, что это глупо за ненадобностью грузить систему. Вот вы сказали разлогинить его, это считаю выходом, но как это сделать? через UserManager.SignOut я могу только себя отключить, а как отключить конкретного пользователя ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:03 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Ну т.е. по логике мы из вопроса обновления прав пришли к вопросу: Как обнулить или закрыть сессию юзверя? Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:13 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, ну хоть как-то, мне сейчас и интересны сами способы и их реализация. Если можно обновить его права без релога, то вообще замечательно, если нельзя, то тоже ничего страшного, главное чтобы после обнуления пользователь не мог вносить корректировки в систему ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:20 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Пробуй когда надо установить validationInterval в 0. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:42 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Еще можно удалить куку. У тебя же полные права на сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:44 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Я просто именно в веб часть ушел совсем недавно, до этого годы десктопных приложений и пока не знаю как достучаться до тех же кук для конкретного пользователя ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:52 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Тут проще и с контроллерами https://stackoverflow.com/questions/41870309/refresh-user-cookie-ticket-in-asp-net-core-identity ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 17:55 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, что-то поискал по всем компонентам, но обновления (RefreshSignInAsync) так и не нашел ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 18:39 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Статья по ASP.NET Core, свою версию вы не озвучили ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 18:47 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Shocker.Pro, Извиняюсь. Я пока все делаю на ASP.NET MVC ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 18:50 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewShocker.Pro, Извиняюсь. Я пока все делаю на ASP.NET MVCтогда уж какой версии) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 19:07 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, последней, которую Visual Studio 2019 создает, предполагаю MVC 5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 19:13 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewPetro123, последней, которую Visual Studio 2019 создает, предполагаю MVC 5старьё))) Пробуй: Session.Clear(); Session.Abandon(); Response.Cookies["ASP.NET_SessionId"].Value = string.Empty; Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddMonths(-10); ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 19:35 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, не помогло, если с пользователя проверять наличие прав, то они меняются, а вот функционал остается прежним ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 20:18 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, И почему вы говорите, что старье?) Я просто начал изучать с него чтобы следом на NetCore перейти ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 20:22 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewPetro123, И почему вы говорите, что старье?) Я просто начал изучать с него чтобы следом на NetCore перейтитам смайлики. Изучайте и то и то. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 20:48 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewPetro123, не помогло, если с пользователя проверять наличие прав, то они меняются, а вот функционал остается прежнимдобавьте редирект на логин форму ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 20:49 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Так редирект же меня перекинет, а не пользователя ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 21:43 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Есть внутренний и есть веешний. Внешний говорит Ослику что надо перейти туда то, и пользователь увидит что урл сменился на урл логина. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 21:51 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, RedirectToActionPermament тоже делает переход только моего аккаунта, может я просто чего-то не понимаю. Хотя странно, что такой банальный вопрос, который реализован почти на каждом форуме и сайте в ограничении пользователю доступа (блокировка) реализуется не в 2 клика в asp.net ведь по сути это одно и то же, изменить права юзера. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 22:04 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewRedirectToActionPermament тоже делает переход только моего аккаунта, может я просто чего-то не понимаю.в каком смысле только вашего? Делайте так: - на форме Здравствуй <ИмяЛогина> - в контроллере на кнопку делаете редирект на форму логина. Значит с любого логина вы перейдёте после клика на форму. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 22:24 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewХотя странно, что такой банальный вопрос, который реализован почти на каждом форуме и сайте в ограничении пользователю доступа (блокировка) реализуется не в 2 клика в asp.net ведь по сути это одно и то же, изменить права юзера. Откуда опыт про клики в "каждом форуме и сайте"? Рассказывайте. Пока у вас редирект простейший не выходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 22:27 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Не, ну сделать кнопку с редиректом не проблема, я просто делаю следующим образом: Я (администратор) захожу в список пользователей, которые зарегистрированы на сервере. Второй браузер при этом авторизован простым пользователем без прав. В списке пользователей выбираю нужного мне и нажимаю редактировать. В редактировании выставляю чекбоксами роли, к которым привязаны какие-то разрешения и жму сохранить. При сохранении отправляется Post запрос и пользователю в БД выдаются указанные роли. Например я назначил ему роль администратора, как бы я не обновлял страницу пользователя пока он руками не нажмет "Logout (Выход)" и заново не войдёт, то он так и будет простым пользователем, а не админом, ну и наоборот. Переходы (Redirect...) не сбрасывают текущую авторизацию пользователю и не загружают его обновленные данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 22:55 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, А про клики это просто просмотр кучи сайтов, где администрация мне давала/забирала права и при первом же F5 (обновлении страницы) я видел, что у меня все меняется ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 22:56 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewПереходы (Redirect...) не сбрасывают текущую авторизацию пользователю и не загружают его обновленные данные. Давай будем меньше рассуждать и больше делать. Итак: skewRedirectToActionPermament тоже делает переход только моего аккаунта, как это понимать? Если в контроллере ты должен выполнить функцию с редиректом только для того кого надо и кого поменял? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 23:15 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, А как мне уквзать, что я должен сделать только этомк человеку у меня в функции EditUser(AppIdentityUser user, string[] selectedRoles){ user.UpdateRoles(selectedRoles); Session.Abord(); Session.Clear(); return RedirectToActionPermament("Login", "Account"); } Код пишу с телефона по памяти, поэтому есть ошибки в синтаксисе но главное суть. Примерно так работает функция выбачи ролей. Как в ней сделать тогда переход для выбранного user ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2019, 23:34 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, В MVC 5 нужно подумать. Вот так будет работать? - добавить в User доп поле-флаг например IsChangeRoles и при серъёзной правке с перелогином взводить флаг - в контроллере var userId = User.Identity.GetUserId(); var currentUser = await UserManager.FindByIdAsync(userId); проверяем флаг currentUser.IsChangeRoles - после логина этот флаг сбрасываем ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 00:03 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Либо ещё проще - тут ты писал: skewесли с пользователя проверять наличие прав, то они меняются, т.е. инфа обновилась из базы при правке в другой сессии админом? Если да, то тут же тот флаг рядом и будет. Что это особо опасный преступник и его надо срочно на форму логин. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 00:05 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Так если задавать флаг, то придется при каждом запросе, который совершает пользователь его проверять, а это думаю не правильно, ведь каждый раз придется стучаться в бд. Удивительно что нету чего-то такого, SignInManager.SignOut(SelectedUser); и ведь сайт умеет это делать - очищать хранимые куки если SecurityStamp пользователя был изменен: OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) Но это в автоматическом режиме, а ручной я не нашел. Petro123 т.е. инфа обновилась из базы при правке в другой сессии админом? Да, если заходить этим пользователем в личный кабинет, где я сделал отображение имеющихся ролей, то да, там все изменяется моментально, что логично т.к. данные тянутся с базы, а вот авторизация висит в куках или кэше и ее как-то нужно почистить ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 00:41 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 01:50 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewvalidateInterval: TimeSpan.FromMinutes(30),эта библиотека, а не сайт, лезет в базу каждые 30 мин. А в ручном режиме ты сам через EF лезешь в базу. Т.к. в базе данные меняются другим, то сама база не умеет сообщать коду наверху. Приходится ждать F5 и запрашивать базу. Тут выбирай. Либо таймер жизни токена 20 минут, либо дольше, но сам лазишь в базу. .. Делай вариант и не компасируй мозги. Проверяй как решен вопрос в Core 2.1. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 07:18 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Так а что в базе мне менять? Роли успешно там меняются, но данные самой сессии ведь не в подключенной бд содержатся ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 09:30 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, У тебя код выше на редирект работает? Делает что нужно? Значить вызвать его для того кого нужно. Опять по кругу пошли? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 09:36 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Роли меняются, но мы договорились что нужен перелогин. Полная очистка всего что висит на юзвере. Уволили его. Значит нужно событие от библиотеки onChangeDB. Я думаю такого нет и надо спрашивать бд. Либо куки с жизнью 10 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 09:53 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Так вот код, который я привел делает редирект моего аккаунта, а не редактированного, измененный аккаунт по прежнему как находился на открытой вкладке и как бы я его не обновлял на F5 никуда не переходит ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 09:54 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Редирект админа не должен быть, т.к.для него не нужно ничего вызывать. Причина понятна? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 10:03 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, все равно не совсем понимаю, из базы при помощи UserManager я могу достать IdentityUser по указанному id/почте. Но процедур, которые бы именно к найденному пользователю применили ряд мер по его дезавторизации я не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 10:32 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Мы код писать будем? Или одни разговоры? Не нашел юзверя текущего в GET запросе? Показывай. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 10:36 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Тогда по порядку: Класс пользователя, который использует UserManager. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Метод администратора, по выдачи роли: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
При добавлении следующего кода в метод выдачи ролей ничего не меняется: Код: c# 1. 2. 3. 4.
Как видим в методе EditAccount пользователю "selectedUser" обновляют все данные в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 10:44 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Ты может прикалываешься тут на форуме? Где код с Abandon? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 10:47 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Я же написал, что при добавлении ничего не меняется. Или я его не так применяю ? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 11:05 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Не так. Надо в get. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 11:15 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, перенес это в Get метод, но ничего не поменялось Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 12:04 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, 1. Не вижу что это Get 2. Добавить лог строку и показать тут ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 12:37 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Добавил атрибут Get, а какую лог строку показать вам я не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 12:51 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Что код реально вызывается. Первый раз замужем? 3. Где редирект ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 13:02 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Вам наверно рано делать динамический интерфейс или выбрасывать на логин юзверя. Сделайте просто сайт калькулятор сначала. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 13:14 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Давайте по порядку с кодом и скринами: Выполняется Post запрос и затем перенаправление на Get Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 13:29 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, а где собственно проверка того, что доступно пользователю? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 13:34 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, и какая-то логика у вас странная... Администратор редактирует роли пользователя и вы его зачем-то отправляете на Relogin. Вы понимаете, что администратору сбрасываете куку, а не пользователю? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 13:36 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewДавайте по порядку с кодом и скринами:нет, давайте то что вам говорят. Логи и редирект. А то я вангую что вы ваньку валяете под другим логином.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 13:49 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skyANA, Я и хочу узнать как мне удалить куки выбранному мною пользователю. Реализация проверки проста через аттрибуты, которые ставятся на методы просмотра и редактирования списка пользоваетелей: Код: c# 1.
и в html странице Код: html 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:21 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewЯ и хочу узнать как мне удалить куки выбранному мною пользователю.выше тебе дали код. После редиректа проверь свои куки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:33 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew Код: c# 1.
странный ты человек. Когда работает админ с Ивановым, Иванов в отпуске. И с его куками ничего не сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:34 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewЯ и хочу узнать как мне удалить куки выбранному мною пользователю.Петя тебя троллит тем, что не говорит, что куки пользователю нужно удалять не при обработке запроса администратора, а при обработке запроса (любого) именно этого пользователя. А иначе как ты можешь сбросить куки пользователя, если он не сделал запрос. Получается так, что ты должен иметь какой-то флаг, который говорит о том, что какому-то пользователю, как только он сделает следующий запрос, нужно сбросить куки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:38 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Shocker.Pro, Про троллю твоя придумка как всегда. Много выше сказано что Get нужен. Вот только я на второй странице догадался что он в POST админа вкорячил код. Не ожидал) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:45 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, Понятно, что когда "Иванов в отпуске" он никаких запросов не шлет, но мне то нужно его заставить перейти по запросу когда он "с отпуска вернется". А если он не станет переходить по ней, то так и будет всеми правами обладать. Причем почему-то я даже принудительно этого "Иванова" заставил выполнить Get запрос (Relogin), в котором происходил Sessin.Abadon(), но у него все равно отображение на страницах не поменялось. Shocker.Pro, с флагом вопрос возникает, получается его нужно ставить и проверять на каждый метод и класс, которые вообще есть на сайте чтобы ни одно его действие не произошло без очистки кук, что тоже, наверное, неправильно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:53 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123Про троллю твоя придумка как всегда. Много выше сказано что Get нужен. Вот только я на второй странице догадался что он в POST админа вкорячил код.на второй странице догадался, но продолжал "не замечать". Petro123Много выше сказано что Get нужен.Почему только GET? Отлавливать нужно любое обращение уволенного пользователя, чтобы он и через POST не получил доступа. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:55 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewс флагом вопрос возникает, получается его нужно ставить и проверять на каждый метод и класс, которые вообще есть на сайте чтобы ни одно его действие не произошло без очистки кук, что тоже, наверное, неправильно ?Совершенно верно. Иначе он получит доступ, куда не следует. Но почему на каждый метод и класс? Сделай централизованно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:56 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Shocker.Proно продолжал "не замечать".тут много ничего не замечающих))) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:57 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewзаставил выполнить Getневозможно. Выйдет из отпуска и будет Get. Код будешь писать?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 14:59 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Shocker.ProПочему только GET?"не мешать все в кучу". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:00 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123Shocker.ProПочему только GET?"не мешать все в кучу".У пользователя может быть открыта страница. Если не перехватывать POST, то получится - его лишили доступа, но он может нажать кнопку и выполнить через POST запрещенное действие. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:01 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123пропущено... "не мешать все в кучу".У пользователя может быть открыта страница. Если не перехватывать POST, то получится - его лишили доступа, но он может нажать кнопку и выполнить через POST запрещенное действие.еще раз. Ты сказал верно, но после решения вопроса ЭЛЕМЕНТАРНОГО НА ДВУХ СТРАНИЦАХ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:08 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Shocker.Pro, ну если так делать, тогда понятно, просто думал, что должен быть какой-то более автоматизированный способ в такой масштабной системе как asp net mvc, чем проверку делать отдельно через БД, а не просто возможность почистить чьи-то куки и снять авторизацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:09 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewну если так делать, тогда понятно, просто думал, что должен быть какой-то более автоматизированный способ в такой масштабной системе как asp net mvc, чем проверку делать отдельно через БД, а не просто возможность почистить чьи-то куки и снять авторизацию.Честно говоря, я не знаю, может и есть. Поэтому я с самого начала и лез в топик, ожидая, что проконсультирует кто-то более опытный. В данном случае просто прояснил непонятный момент. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:20 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewну если так делать, тогда понятнону наконец то))))). Нельзя, не ходя в магазин, узнать что там нет хлеба (с) Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:23 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
[quot Petro123]skewКод будешь писать?))) Да,пишу, пытался все же понять на чем остановиться) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:24 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123skewну если так делать, тогда понятнону наконец то))))). Нельзя, не ходя в магазин, узнать что там нет хлеба (с) Удачи! Это понятно, но у системы столько автоматических проверок, а проверить то, что пользователь больше не имеет какой-то из ролей система не может, нужно всю это автоматизацию получается перегонять в ручную проверку. Хотя казалось бы вопрос тривиален ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:27 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, В Core сменили метод авторизации напрочь. Смотри там. Может решено. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:49 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewХотя казалось бы вопрос тривиаленза 10 минут и кука протухла разве не решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:50 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123, извиняюсь, я наверное Вам надоел уже :) но тут я больше не столь для конкретного решения, что прям нужно так и не иначе, а просто столкнулся с таким феноменом и для познавательных целей хотел узнать как его можно решить, ведь не сейчас, а когда-нибудь, но это будет важно. И вот вы решили другу дать права админа, а потом бац и он стал врагом, вы быстро лишаете его прав админа, а он за эти 10 минут грохает все, что у вас накопилось за 5 лет работы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 15:58 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skew, Ну дак в java тоже самое. Если сессия, то ее отрубают. Но об этом никто не знает в хибере, если кэш только первого уровня и админка исправлена в самой бд. Как об этом узнать? Делают sso, тогда на каждый get идет запрос на сервер авторизации. Как то так. ... Не бойся спрашивать бд или сервис. Это компромисс. 3. Делай один контекст для админки и юзверей. Запроса к бд не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 16:11 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
ТС, а в чем проблема просто куку прибить? Или я чего-то недогоняю и есть какие-то ньюансы? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 00:24 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
skewЭто понятно, но у системы столько автоматических проверок, а проверить то, что пользователь больше не имеет какой-то из ролей система не может, нужно всю это автоматизацию получается перегонять в ручную проверку. Хотя казалось бы вопрос тривиален каким образом асп может это за вас автоматизировать если данные о доступных ролях находятся у вас в базе? Хотите мгновенной отмены прав - не кэшируйте клеймы в куках/токенах, и доставайте их на каждый запрос из базы или сессии. Только это прошлый век, сейчас именно что клеймы кэшируются т.к. в сочетании с токенами это дает массу преимуществ в современных системах. Помимо проблем типа "отозвал право, а оно все еще в куке" возможны куда более проблематичные сценарии, когда токен украден и хакер может делать что угодно от лица пользователя. Поэтому время их жизни делают максимально коротким, по-сути это все, что можно сделать. skewа потом бац и он стал врагом, вы быстро лишаете его прав админа, а он за эти 10 минут грохает все, что у вас накопилось за 5 лет работы :) он врагом стал непременно с момента, когда вы галочку поставили? Когда человека увольняют, то ему мгновенно перекрывают доступ к рабочему компьютеру и отзывают все права, стандартная практика в большинстве компаний ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 01:59 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
fkthatТС, а в чем проблема просто куку прибить? Или я чего-то недогоняю и есть какие-то ньюансы?ньюансы еще из прошлого тысячелетия и из клинт сервера - если Коля поставил галку в базе, то как Вася на клиенте об этом узнает? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 07:13 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123fkthatТС, а в чем проблема просто куку прибить? Или я чего-то недогоняю и есть какие-то ньюансы?ньюансы еще из прошлого тысячелетия и из клинт сервера - если Коля поставил галку в базе, то как Вася на клиенте об этом узнает? Ну как - при аутентификации очередного запроса проверить палку в базе, прибить куку и отредиректить на страницу логина. Это если классицеское приложение. Если AJAX - то все тоже самое - запрос-то все равно будет, просто на клиенте результат хитрее надо будет обработать.. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 11:54 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
fkthat, Ты не читал топик. Он не хочет на все get, post ото всех, лазить в базу и проверять свежак инфу. Вероятно жалеет базу данных или боится тормозов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 12:35 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
Petro123fkthat, Ты не читал топик. Он не хочет на все get, post ото всех, лазить в базу и проверять свежак инфу. Вероятно жалеет базу данных или боится тормозов. Ну тогда в памяти всю шляпу кешировать. Или делать что-то типа на вебсокетах - но для подобной ерундовой задачи это вообще, по-моему, жесть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 15:36 |
|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#18+
fkthat, Решений полно и без сокетов: - сессии со списком подключенных - время жизни кук поставить 3 минуты или даже одну - не жалеть сервер для 10ти юзверов -... .. Верно сказал что задача жесть, поэтому послать постановщика подальше. Лучше функционал делать и много зарабатывать. Это в тренде. А не диверсантов ловить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2019, 15:57 |
|
|
start [/forum/topic.php?all=1&fid=18&tid=1355056]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
103ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 292ms |
0 / 0 |