Size: a a a

Spring Framework and more

2019 July 29

RR

Roman Rodnin in Spring Framework and more
а зачем ты используешь formservice
источник

Y

YWNWA in Spring Framework and more
Arseny -> r2d2
и почитать про поля в интерфейсе. поле from означает юзернейм у смтп сервера.
не понял какое поле.
источник

Y

YWNWA in Spring Framework and more
Roman Rodnin
а зачем ты используешь formservice
а что мне использовать?
источник

RR

Roman Rodnin in Spring Framework and more
ну просто грубо говоря у тебя formservice получает на вход объект Form, инициализирует его чтобы потом никак не использовать
источник

RR

Roman Rodnin in Spring Framework and more
ты можешь отказаться от объекта Form в принципе и Formsservice тоже
источник

Y

YWNWA in Spring Framework and more
xD  теперь я запутался
источник

Ar

Arseny -> r2d2 in Spring Framework and more
@Service
public class MailSender {
   @Autowired
   private JavaMailSender mailSender;

у тебя есть бин mailSender класса JavaMailSender?
источник

Y

YWNWA in Spring Framework and more
так мне не нужны модели и тд?
источник

Y

YWNWA in Spring Framework and more
Arseny -> r2d2
@Service
public class MailSender {
   @Autowired
   private JavaMailSender mailSender;

у тебя есть бин mailSender класса JavaMailSender?
вот @Service
public class MailSender {
   @Autowired
   private JavaMailSender mailSender;

   @Value("${spring.mail.username}")
   private String username;


   public void send(String emailTo, String subject, String message) {
       SimpleMailMessage mailMessage = new SimpleMailMessage();

       mailMessage.setFrom(username);
       mailMessage.setTo(emailTo);
       mailMessage.setSubject(subject);
       mailMessage.setText(message);

       mailSender.send(mailMessage);
   }
}
источник

RR

Roman Rodnin in Spring Framework and more
у тебя есть HTML форма
ты вводишь там какие-то данные и нажимаешь на кнопочку
твой браузер (посредством формы или xmlhttprequest) делает http запрос на какой-то юрл, где сидит сервлет и получает эти данные
@PostMapping("/form")
postForm(@RequestBody Form form) {
this.mailSender.send(form.get......, form.get....);
return "zaebis"; }
сервлет отправляет либо строчку zaebis либо zaebis.html в зависимости от того  как настроен твой spring mvc
браузер получает и показывает пользователю
источник

Y

YWNWA in Spring Framework and more
тоесть мне нужен только этот mailsender и контроллер с postForm?
источник

Y

YWNWA in Spring Framework and more
без моделей и тд
источник

Y

YWNWA in Spring Framework and more
ну и форма хтмл
источник

RR

Roman Rodnin in Spring Framework and more
модель в этом случае класс Form
источник

S🕶

Sander 🕶 in Spring Framework and more
Поделитесь информацией кто как делает Spring Security фильтры?
после прочтения разной информации, в моей голове сформировалась следующая мысль, то как это сделать.

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

Rest api security:
- один фильтр на POST /login, который берет "username, password", отправляет это в "AuthenticationManager" -> "AuthenticationProvider",
в конце если success, он вернет тебе "Authentication Token".
- второй общий на все остальные api эндпонты, который будет брать Token из header-a и просто делать token verify (Authorization),
если success, то будет разрешать ему доступ к данным.

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

Y

YWNWA in Spring Framework and more
https://codeshare.io/G8obbB
правильно ли я описал на freemaker форму?
источник

Ar

Arseny -> r2d2 in Spring Framework and more
YWNWA
вот @Service
public class MailSender {
   @Autowired
   private JavaMailSender mailSender;

   @Value("${spring.mail.username}")
   private String username;


   public void send(String emailTo, String subject, String message) {
       SimpleMailMessage mailMessage = new SimpleMailMessage();

       mailMessage.setFrom(username);
       mailMessage.setTo(emailTo);
       mailMessage.setSubject(subject);
       mailMessage.setText(message);

       mailSender.send(mailMessage);
   }
}
У тебя в контексте будет крутится бин MailSender с именем mailSender
А ты в нем же пытаешься через поле подрубить бин JavaMailSender с именем mailSender
источник

Y

YWNWA in Spring Framework and more
не понял, что ты сказал xD
источник

Y

YWNWA in Spring Framework and more
ты про контроллер? или про сервис MailSender?
источник

Ar

Arseny -> r2d2 in Spring Framework and more
тогда:
1. Прочти про IoC контейнер спринга и че это такое
2. Почитай что такое бин
3. Почитай про DI
4. Пойми что такое контекст
5. Создай в @Configuration классе бин типа JavaMailSender(через JavaMailSenderImpl)
6. Заинджекть его в свой mailService, желательно через конструктор, а не поле
7. Примени его в своем сервисе
источник