Size: a a a

2021 February 07

AE

Alexandr Emelyanov in pro.jvm
Human Human
Значит вы не поняли о чем речь. При “стандартной” настройке Spring Security - один и фильтров отвечает за логин и выполняет все действия.
Когда же мы хотим залогинить юзера после регистрации - этот фильтр не вызывается. Соотвественно нам надо вручную делать все тоже самое
Посмотреть исходник фильтра и пожелать те же шаги? Посмотреть цепочку фильтров и найти в ней относящийся к csrf и посмотреть что там вызывается?
источник

HH

Human Human in pro.jvm
Alexandr Emelyanov
Посмотреть исходник фильтра и пожелать те же шаги? Посмотреть цепочку фильтров и найти в ней относящийся к csrf и посмотреть что там вызывается?
Я знаю, что вызывается. Просто
1. Не хочу дублировать.
2. Переиспользовать код из CsrfAuthenticationStrategy - выглядит ублюдски, ибо сложно достается, чтобы дальше заинжектить
источник

HH

Human Human in pro.jvm
“Как-нибудь” можно в любом случае сделать. Вопрос как сделать лучше всего
источник

AE

Alexandr Emelyanov in pro.jvm
Human Human
Я знаю, что вызывается. Просто
1. Не хочу дублировать.
2. Переиспользовать код из CsrfAuthenticationStrategy - выглядит ублюдски, ибо сложно достается, чтобы дальше заинжектить
1. Ну делая что то не стандартное - придется. Да и продублировать то там наверно цепочку вызова сервисов
источник

AE

Alexandr Emelyanov in pro.jvm
Ну и это как бы нормально
источник

HH

Human Human in pro.jvm
Alexandr Emelyanov
1. Ну делая что то не стандартное - придется. Да и продублировать то там наверно цепочку вызова сервисов
```
@Override
public void onAuthentication(Authentication authentication, HttpServletRequest request,
 
HttpServletResponse response) throws SessionAuthenticationException {
boolean containsToken = this.csrfTokenRepository.loadToken(request) != null;
if (containsToken) {
 
this.csrfTokenRepository.saveToken(null, request, response);
 
CsrfToken newToken = this.csrfTokenRepository.generateToken(request);
 
this.csrfTokenRepository.saveToken(newToken, request, response);
 request.setAttribute(
CsrfToken.class.getName(), newToken);
 request.setAttribute(newToken.getParameterName(), newToken);
 
this.logger.debug("Replaced CSRF Token");
}
}

```
Вот что прийдется продублировать:(
источник

HH

Human Human in pro.jvm
+ имхо автологин во время регистрации - не такой уже нестандартный функционал
источник

AE

Alexandr Emelyanov in pro.jvm
Human Human
```
@Override
public void onAuthentication(Authentication authentication, HttpServletRequest request,
 
HttpServletResponse response) throws SessionAuthenticationException {
boolean containsToken = this.csrfTokenRepository.loadToken(request) != null;
if (containsToken) {
 
this.csrfTokenRepository.saveToken(null, request, response);
 
CsrfToken newToken = this.csrfTokenRepository.generateToken(request);
 
this.csrfTokenRepository.saveToken(newToken, request, response);
 request.setAttribute(
CsrfToken.class.getName(), newToken);
 request.setAttribute(newToken.getParameterName(), newToken);
 
this.logger.debug("Replaced CSRF Token");
}
}

```
Вот что прийдется продублировать:(
Ну не так уж много
источник

AE

Alexandr Emelyanov in pro.jvm
Human Human
+ имхо автологин во время регистрации - не такой уже нестандартный функционал
Да, но только нигде он не работает с remember me ибо это галочка на форме авторизации, которой нет на форме регистрации
источник

AE

Alexandr Emelyanov in pro.jvm
Даже по логике вещей без галочки делать не очень, пусть при следующей аутентификации поставит
источник

HH

Human Human in pro.jvm
Alexandr Emelyanov
Даже по логике вещей без галочки делать не очень, пусть при следующей аутентификации поставит
Хм, ну на большинтве сервисов сейчас автоматом ставится длинная кука. У меня такой галочки нет и на роуте логина
источник

HH

Human Human in pro.jvm
Но по перегрузке куки сесси и csrf можно было и сделать нормально
источник

HH

Human Human in pro.jvm
Даже не знаю, что лучше дублировать или заниматься таким?

http.getConfigurer(SessionManagementConfigurer.class).init(http);
http.getSharedObject(SessionAuthenticationStrategy.class);
источник
2021 February 08

АМ

Артём Молявин... in pro.jvm
Артём Молявин, [08.02.21 02:23]
while (a <= number) {
           if (number % a== 0) {
               if (a != number) {
                   System.out.print(a +"*");
                   number = number/2;
                   System.out.println(number+" = "+number*a);
               } else {
                   System.out.print(a);
               }
               return;
           }
           a++;
       }
источник

АМ

Артём Молявин... in pro.jvm
Какая функция return в даному коде?
источник

DC

Denis Chikanov in pro.jvm
Артём Молявин
Артём Молявин, [08.02.21 02:23]
while (a <= number) {
           if (number % a== 0) {
               if (a != number) {
                   System.out.print(a +"*");
                   number = number/2;
                   System.out.println(number+" = "+number*a);
               } else {
                   System.out.print(a);
               }
               return;
           }
           a++;
       }
1) @javastart
2) отформатируй код, хотя бы используя встроенные средства телеги, когда будешь писать это туда
источник

ЯП

Ярослав Пожарский... in pro.jvm
Здравствуйте. Подскажите, а на чем сейчас пишут небольшие десктопные приложения с отрисовкой графиков? У Якова Файна читал про swing, но он я так понимаю уже устарел морально.
источник

АЦ

Андрей Царев... in pro.jvm
Ярослав Пожарский
Здравствуйте. Подскажите, а на чем сейчас пишут небольшие десктопные приложения с отрисовкой графиков? У Якова Файна читал про swing, но он я так понимаю уже устарел морально.
OpenJFX
источник

ЯП

Ярослав Пожарский... in pro.jvm
Андрей Царев
OpenJFX
🙏
источник

П

Павел in pro.jvm
Народ что-то я туплю. Вот есть проект на джава. Пишется юнит тест. Запускается юнит тест. Должен ли проект билдится каждый раз при запуске теста?
источник