Skip to content

Commit e787873

Browse files
authored
Update spring.md
1 parent 44cc254 commit e787873

1 file changed

Lines changed: 55 additions & 22 deletions

File tree

spring.md

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -699,14 +699,68 @@ __Класс помеченный аннотацией `@SpringBootApplication`
699699
Или так, например:
700700

701701
![image](https://github.com/Slimercorp/java-interview/assets/116163780/ed1dcdf3-a0fe-4c46-8d8e-d11d16f5ccac)
702+
703+
## Spring Security
704+
705+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/71ff23f9-34db-4532-817b-a0096379e327)
706+
707+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/15d82455-902c-4ba9-95b6-da05921c1b1b)
708+
709+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/0d0f7d11-61fd-4299-b225-48bda0469e2f)
710+
711+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/e70c6bae-af11-4d70-b6f3-62315ed97e15)
712+
713+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/36b71167-c6fc-485f-9543-0365afa937b9)
714+
715+
Когда мы хотим реализовать аутентификацию в Spring Security, мы должны создать класс, который реализует интерфейс `AuthenticationProvider`, в этом интерфейсе есть одна сигнатура `authenticate`, в реализации этого метода мы описываем логику аутентификации пользователя. Этому методу на вход подается объект `Authetication` и возвращает это метод тоже объект `Authetication`. То есть этот объект несет в себе логин и пароль пользователя (`credentials` на схеме выше), когда он пытается аутентифицироваться. `Principal` - объект, который получается на выходе и несет в себе данные о пользователе, который только что прошел успешную аутентификацию (имя, фвмилия, дата рождения и т.д.).
716+
717+
Т.к. у нас могут быть разные способы аутентификации (обращение к БД, обращение к стороннему серверу...), то в приложении может быть несколько `AutheticationProvider`'ов каждый со своей реализацией метода `authenticate()`.
718+
719+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/5973cdad-3752-4210-b651-75f304805257)
720+
721+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/26d19d85-2871-4559-993e-5b33e58794a2)
722+
723+
## Session
724+
725+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/7292e35c-3b87-40e2-8158-864632774645)
726+
727+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/7f7f1b9e-4719-4b7e-8df4-be0210d0a6ec)
728+
729+
![image](https://github.com/Slimercorp/java-interview/assets/116163780/6324264f-b273-499d-83ea-293e62ceb880)
730+
731+
732+
733+
734+
735+
736+
737+
738+
739+
740+
741+
742+
743+
744+
745+
746+
747+
748+
749+
750+
751+
752+
753+
754+
755+
756+
702757

703758

704759

705760

706761

707762

708763

709-
## Spring Security
710764

711765

712766

@@ -827,27 +881,6 @@ __@RequestBody__
827881

828882

829883

830-
831-
832-
833-
834-
835-
836-
837-
838-
839-
840-
841884
## JWT
842885

843886

844-
845-
846-
847-
848-
849-
850-
851-
852-
853-

0 commit comments

Comments
 (0)