Thank you very much for the playlist. Helped me understand Spring security. I've been struggling to finf the right material for a long time now. Thank you!!
what if i do not make a separate Role class but added a String role with default values "USER" and "ADMIN" to the UserEntity and Admin entity. Then what should i change from your instructions
There is no Admin entity, "user" and "admin" are two different users, they are instances of the same UserEntity class. You need a role class because usually an user can have multiple roles in an application. Check the video with Users & Roles. I think you might need a better understanding of OOP concepts before diving deep into more complex topics as spring security.
Also is this based on Chad's Spring Boot 3, Spring 6 & Hibernate for Beginners on Udemy? If so, I'm glad you're explaining it, on the bonus PDFs, they are straightforward, but for newbies, having someone gloss over it, walkthrough it, and explain things the way you do is great. If not, disregard haha!
Dude I recommend you during typing when IDE autosugests you to import specific classes methods etc. just press enter keyboard and that specific class will import automatically at once. Just don't go back every time and fix that error. Learn use IDE efficiently. And what about tutorial it is so wonderful.
I'd agree with you with the skills sets I have now, I will disagree with you if you're a beginner learning IntelliJ and Spring Boot, respectfully. There's already a lot of magic happening plus the convenitant "CMD + N" to auto generate stuff for IntelliJ and "OPTION + ENTER" to do what you're referring to, sure, it does make things faster, but since the viewers are usually beginners, I prefer what he does actually.
Hey there, I’m running into this issue where my SecurityContextHolder (i.e., currently logged in user) is returning null even after setting it accordingly. In one controller, it works. In another controller it doesn’t. How can I persist this such that the current logged in user is accessible from any endpoint?
thank you for this good tutorial, I also appreciate the tool with which you have schematized your explanations, can you please share with us the name of this program
Great video. I have this error in the CustomerUserDetailsService: The method getUsername() is undefined for the type UserEntity The method getPassword() is undefined for the type UserEntity The method getRoles() is undefined for the type UserEntity The method getName() is undefined for the type Role any help is appreciated. Thanks
In Spring, the @Autowired annotation is used for dependency injection, which allows Spring to automatically resolve and inject the collaborating beans (dependencies) into your class. You can use @Autowired with constructors, setter methods, or fields. Using it with constructors has certain advantages: 1)Immutability 2)Easier Testing 3)Mandatory Dependencies 4)Encourages Clean Code in summary it is a much better coding practice and using @Autowired with constructors in Spring is a best practice for dependency injection because it promotes immutability, eases testing, ensures mandatory dependencies, and encourages clean code design. By injecting dependencies through constructors, you make your classes more robust, maintainable, and easier to test.
Hey Teddy, instead of the method to convert the Roles into a Collection of GrantedAuthorities, can we just implement GrantedAuthority for our Role entity? @Data @NoArgsConstructor @Entity @Table(name = "role") public class RoleEntity implements GrantedAuthority { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false, unique = true, updatable = false) private int id; @Column(name = "role") private String role; @Override public String getAuthority() { return this.role; } } Perhaps something like this? SimpleGrantedAuthority, an object from Spring Security implements getAuthority this way :) Just another approach!
Thank you very much for the playlist. Helped me understand Spring security. I've been struggling to finf the right material for a long time now. Thank you!!
what if i do not make a separate Role class but added a String role with default values "USER" and "ADMIN" to the UserEntity and Admin entity. Then what should i change from your instructions
There is no Admin entity, "user" and "admin" are two different users, they are instances of the same UserEntity class. You need a role class because usually an user can have multiple roles in an application. Check the video with Users & Roles. I think you might need a better understanding of OOP concepts before diving deep into more complex topics as spring
security.
Thank you, Teddy. Great class, as always.
Justin: good tutorial. To the point, consistent and good information.
good tutorial. To the point, consistent and good information.
omg your a famous youtuber will you collab with Teddy Smith ???
Also is this based on Chad's Spring Boot 3, Spring 6 & Hibernate for Beginners on Udemy?
If so, I'm glad you're explaining it, on the bonus PDFs, they are straightforward, but for newbies, having someone gloss over it, walkthrough it, and explain things the way you do is great.
If not, disregard haha!
Hi Teddy,
Indeed it is a nice explanation of Spring Security with JWT. Could you also please create similar series on Spring Cloud?
I'm planning on spring microservices, but that's gonna take a while
Nice and clear explanation
I'm confused. Both InMemoryUserDetailsManages and CustomUserDetailsService are registered as beans. How does Spring know which one to use?
It was really a great job
Thank you
thanks you toes man
Thank you, Sir!!
Thank you so much :)
really good job man, thank you so much for your works
'csrf()' is deprecated since version 6.1 and marked for removal
Dude I recommend you during typing when IDE autosugests you to import specific classes methods etc. just press enter keyboard and that specific class will import automatically at once. Just don't go back every time and fix that error. Learn use IDE efficiently. And what about tutorial it is so wonderful.
This is a good idea. Going to look into this. Thank you for suggestion.
@@TeddySmithDev thank you for responding, your content is really great. keep it up. how can I message you on social media I have some questions ?
I'd agree with you with the skills sets I have now, I will disagree with you if you're a beginner learning IntelliJ and Spring Boot, respectfully.
There's already a lot of magic happening plus the convenitant "CMD + N" to auto generate stuff for IntelliJ and "OPTION + ENTER" to do what you're referring to, sure, it does make things faster, but since the viewers are usually beginners, I prefer what he does actually.
Hey there, I’m running into this issue where my SecurityContextHolder (i.e., currently logged in user) is returning null even after setting it accordingly. In one controller, it works. In another controller it doesn’t. How can I persist this such that the current logged in user is accessible from any endpoint?
thank you for this good tutorial, I also appreciate the tool with which you have schematized your explanations, can you please share with us the name of this program
Microsoft whiteboard
Great video.
I have this error in the CustomerUserDetailsService:
The method getUsername() is undefined for the type UserEntity
The method getPassword() is undefined for the type UserEntity
The method getRoles() is undefined for the type UserEntity
The method getName() is undefined for the type Role
any help is appreciated. Thanks
Have you desfined the password and username .... for UserEntity yet ?
I hate it automatically detects the userdetails, when having bug it's a hell foind the problem
why you use @Autowired with constructor?
In Spring, the @Autowired annotation is used for dependency injection, which allows Spring to automatically resolve and inject the collaborating beans (dependencies) into your class. You can use @Autowired with constructors, setter methods, or fields. Using it with constructors has certain advantages:
1)Immutability
2)Easier Testing
3)Mandatory Dependencies
4)Encourages Clean Code
in summary it is a much better coding practice and using @Autowired with constructors in Spring is a best practice for dependency injection because it promotes immutability, eases testing, ensures mandatory dependencies, and encourages clean code design. By injecting dependencies through constructors, you make your classes more robust, maintainable, and easier to test.
Hey Teddy, instead of the method to convert the Roles into a Collection of GrantedAuthorities, can we just implement GrantedAuthority for our Role entity?
@Data
@NoArgsConstructor
@Entity
@Table(name = "role")
public class RoleEntity implements GrantedAuthority {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true, updatable = false)
private int id;
@Column(name = "role")
private String role;
@Override
public String getAuthority() {
return this.role;
}
}
Perhaps something like this? SimpleGrantedAuthority, an object from Spring Security implements getAuthority this way :)
Just another approach!
Thank you very much sir
no problem