|
Релогин аккаунта при выдачи роли или удалении пользователя
|
|||
---|---|---|---|
#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 |
|
|
start [/forum/topic.php?fid=18&msg=39760521&tid=1355056]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
133ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 261ms |
0 / 0 |