Spring Security Made Easy
15:02
4 ай бұрын
Пікірлер
@kajalkukreja694
@kajalkukreja694 2 күн бұрын
Very good explanation 👏 👌
@universal4334
@universal4334 4 күн бұрын
Introduction on deamon and explaining it is super good, but usecases of it would have made more sense. As JVM won't wait for them, how can we make sure that it can complete its execution before the user thread. I mean, how can we trust a deamon thread on something
@IsraelTamariz
@IsraelTamariz 5 күн бұрын
Thanks!
@universal4334
@universal4334 5 күн бұрын
Awesome!!! Great content. Unlike others, first, you've cleared out the confusion on core concepts. Thank you❤
@the_codealchemist
@the_codealchemist 5 күн бұрын
Thanks! Glad you found it helpful.
@mohdzubairkhan1589
@mohdzubairkhan1589 8 күн бұрын
Very well explained. Thanks I have one question do we require to hit localhost:8888/actuator/busrefresh API every time or do we have any alternate of this, so we can avoid hitting this API and can get the data directly?
@fandomkingdom9567
@fandomkingdom9567 10 күн бұрын
Thanks very much.
@Orisha001
@Orisha001 11 күн бұрын
Do we really need a config server app to fetch the config properties?
@the_codealchemist
@the_codealchemist 4 күн бұрын
Hey, not really if your app is small or config changes are not frequent or you have an alternate way of reading those configs say by making a rest call or some custom IO ops or any other solution. In this context, having a config server allows us to scale, xentralize and standardize the config related operations like dynamic refresh and so on.
@Orisha001
@Orisha001 3 күн бұрын
@@the_codealchemist what i mean is that, do you need it running locally. Can't the client app fetch it straight from the server itself without relying on another client?
@kenchang3456
@kenchang3456 16 күн бұрын
This video is GOLD! Thank you very much.
@the_codealchemist
@the_codealchemist 15 күн бұрын
Glad it was helpful!
@kenchang3456
@kenchang3456 16 күн бұрын
Excellent short video to get me started. Thanks.
@the_codealchemist
@the_codealchemist 15 күн бұрын
Thanks, appreciate the feedback!
@arunabhtiwari4771
@arunabhtiwari4771 16 күн бұрын
Hi Awesomme Course . Just want to ask instead of running a docker image from Docker Desktop. Can we use Docker.yml service and port and volumes and evironment variable and run the docker contain script from intellij only. IF there is any possible please make video on this or share some resource.
@the_codealchemist
@the_codealchemist 4 күн бұрын
Yes we can..will give it a try.
@saurabh1984sri
@saurabh1984sri 17 күн бұрын
crisp & simple video. Thanks Man.
@the_codealchemist
@the_codealchemist 15 күн бұрын
You're welcome! I'm trying my best to keep things simple and straightforward.
@baktyiar.kydyrberdi
@baktyiar.kydyrberdi 18 күн бұрын
Thank you Bro.
@shortcuter4
@shortcuter4 19 күн бұрын
You are awesome! Everything is crystal clear!
@shortcuter4
@shortcuter4 19 күн бұрын
Could you please make a video for JWT? I am sure your way of doing will make me understand that as well. Your way of explanation is well done!
@the_codealchemist
@the_codealchemist 15 күн бұрын
Will try my best to do one on JWT!
@shortcuter4
@shortcuter4 8 күн бұрын
Brother, I am waiting for your JWT tutorial in this style. I want to believe that you will make it soon)))
@shortcuter4
@shortcuter4 19 күн бұрын
I have seen part 1, the architecture was nicely expained as an introduction. This way is better to follow and understand the topic. Thank you for your efforts
@the_codealchemist
@the_codealchemist 15 күн бұрын
Thanks for the kind words, I'm happy you found it useful!
@AsadZakai
@AsadZakai 20 күн бұрын
The most detailed video I have ever seen, keep bringing the detailed content for us Thankyou 💘💝
@the_codealchemist
@the_codealchemist 20 күн бұрын
I'm glad you found it helpful!
@عبدالرحمنخالد-ش4ت6ي
@عبدالرحمنخالد-ش4ت6ي 21 күн бұрын
Excellent
@redsan74
@redsan74 28 күн бұрын
Awesome tutorial..just so simple
@NoahStacy-k4g
@NoahStacy-k4g Ай бұрын
Hey man, do you offer any 1 on 1 help? Great video.
@NoahStacy-k4g
@NoahStacy-k4g Ай бұрын
I just couldnt get the producer there at the end to allow me to enter user id or anything. it displayed the message to the console then went by it telling me the cluster id and the producer id then blanks out.
@the_codealchemist
@the_codealchemist Ай бұрын
I can have a look if you could share the code
@ankitatripathi1548
@ankitatripathi1548 Ай бұрын
So when we persist the entity and then if we change the data of entity it will sync, then whats the difference between merge and persist as i see both are doing the same
@ankitatripathi1548
@ankitatripathi1548 Ай бұрын
Great Video. Thanks!
@the_codealchemist
@the_codealchemist Ай бұрын
Glad you found it helpful!
@pradeepsingh-kr2hv
@pradeepsingh-kr2hv Ай бұрын
Subscribed, thanks for good explanation
@the_codealchemist
@the_codealchemist Ай бұрын
Thanks!
@Sanjay54251
@Sanjay54251 Ай бұрын
how enum store in lowercase in hibernate
@the_codealchemist
@the_codealchemist Ай бұрын
Hi, I think you can explore docs.oracle.com/javaee/7/api/javax/persistence/AttributeConverter.html
@kotraraghavendra2032
@kotraraghavendra2032 Ай бұрын
👏🏻👏🏻👏🏻👏🏻👏🏻
@the_codealchemist
@the_codealchemist Ай бұрын
Thanks!
@sanjaygoutam7573
@sanjaygoutam7573 Ай бұрын
Hi Sir Scenario: We have two services: 1. Service A: Operates on schema ABC and requires read-write access. 2. Service B: Operates on schema EFG which should be read-only. Requirements: We need to enforce the following rules at the application level (not at the database level): 1. Save operations on schema EFG should be blocked. 2. Update/Delete operations using native queries that involve schema EFG (even if joined with schema ABC) should be blocked. 3. Update/Delete operations using Spring JPA methods that involve schema EFG entities (even if joined with schema ABC) should also be blocked. 4. Select operations on schema EFG should be allowed. Question: How can we make schema EFG read-only at the application level to meet these requirements?
@the_codealchemist
@the_codealchemist Ай бұрын
This is an interesting scenario! I'll try to include some explanation on how to achieve this kind of read-only schema functionality at the application level. Although, I have not tried these myself. Please let me know if it works! I think you can explore Hibernate's StatementInspector which perhaps can do what you want vladmihalcea.com/hibernate-statementinspector/ Basically in the inspect method you get the sql query before it gets executed so there we can block Insert, update, delete queries on EFG schema with some String operations. Second, we can try to use Hibernate/JPA Listeners and block update queries with custom logic medium.com/jpa-java-persistence-api-guide/hibernate-v6-event-interception-250ae115f0db
@tharunkumarcheripally9712
@tharunkumarcheripally9712 Ай бұрын
Thanks, I appreciate. Will recommend to needy people @the_codealchemist .
@sulsulat
@sulsulat 2 ай бұрын
please add seq no in title of these videos
@the_codealchemist
@the_codealchemist 2 ай бұрын
Captions are actually numbered hence not in the title
@universal4334
@universal4334 5 күн бұрын
Great content. Simple and crisp 👌
@bahaazyoud1881
@bahaazyoud1881 2 ай бұрын
thanks ,for this classloader explanation
@TheSAM_95
@TheSAM_95 2 ай бұрын
Hi, I have a question. Since Azure uses RBAC do we need to register our spring boot application in azure AD so that it can fetch the secrets ?
@lokeshr-z9j
@lokeshr-z9j 2 ай бұрын
So going with eager loading and using constructor injection would be best and ideal right ?
@the_codealchemist
@the_codealchemist 2 ай бұрын
Yes it is generally recommended unless you have a usecase of lazy loading
@gokulmaash7077
@gokulmaash7077 2 ай бұрын
Thank You bro this is really helpful
@the_codealchemist
@the_codealchemist 2 ай бұрын
Glad it was helpful!
@petardimitrov613
@petardimitrov613 2 ай бұрын
Thank you!
@iamlearning8401
@iamlearning8401 3 ай бұрын
We have same profile picture 🙂
@the_codealchemist
@the_codealchemist 3 ай бұрын
What a coincidence 😁
@abdelkaderkaouane1944
@abdelkaderkaouane1944 3 ай бұрын
Thank you so much.
@the_codealchemist
@the_codealchemist 3 ай бұрын
You're welcome!
@mati1979b
@mati1979b 3 ай бұрын
Helps a lot, thank you for your work.
@the_codealchemist
@the_codealchemist 3 ай бұрын
Glad it helped!
@ainigma100
@ainigma100 3 ай бұрын
Thank you for the great video! I have a question regarding Azure Key Vault. In a scenario where a secret has expired, and someone updates the secret with a new value while the application is running, how would the application handle this change? Specifically, if the application is still using the old (expired) value, would it fail immediately, or is there a recommended approach to ensure the application uses the updated secret value without interruption? Should we add a cronjob inside our spring boot application to run daily and retrieve the values of the latest secrets or there is a better approach. Thank you in advance!
@the_codealchemist
@the_codealchemist 3 ай бұрын
Thank you for the great question..in fact this could be a great video. You're correct if secret is updated but not refreshed in the application, it could cause problems depending on the task. I can think of a couple of ways to handle this: 1) Instead of having a cron job, we can configure the secret to be refreshable in application config file with a time interval which will cause Spring Cloud Azure to periodically check the secret from Azure. learn.microsoft.com/en-us/azure/developer/java/spring-framework/secret-management 2) We can also use an actuator refresh endpoint but it would be manual task to hit the refresh endpoint whenever the secret is rotated or refreshed. 3) We can go via exception handling route e.g. keep using the key and if you get an exception retry the operation by reading the updated secret(Not a fan of this approach though!) 4) Another way could be listen for Azure events for secret changes and react in real time to refresh the secret.
@ainigma100
@ainigma100 3 ай бұрын
@@the_codealchemist thank you very much!
@TheSAM_95
@TheSAM_95 2 ай бұрын
there might be one more way which is like implementing a cache which will fetch the secrets from the key vault after a certain interval and the application will fetch the secrets(in our case the db credentials) from the cache. this approach will solve two important problems first one is secret rotation and the second one is the latency issue.
@ainigma100
@ainigma100 2 ай бұрын
​@@TheSAM_95 Thank you very much for the suggestion! There is definitely a benefit to using a cache, but I see a small issue here. Imagine we have a secret that is needed for every request, like an API key. If someone rotates the secret, our application would still be using the old one until the cache refreshes, which could lead to failures. If we set the cache to check the key vault regularly, we end up with two challenges: Delay: There is always a gap between when a secret changes and when the application gets the new value, potentially causing downtime for critical requests. Overhead: Checking the key vault too frequently could add unnecessary load, but checking less often makes the delay problem worse. One possible improvement might be an event-based update, where the application listens for secret changes and refreshes the cache instantly, something like using the Observer pattern. Not sure if this would work here, but it could solve the delay issue. Maybe Azure's Event Grid (learn.microsoft.com/en-us/azure/event-grid/overview) in combination with Key Vault can be used.
@sarveshrawat1462
@sarveshrawat1462 3 ай бұрын
Awesome explanation. Thank you very much for the video. Can you create a video on how to configure cluster discovery?
@the_codealchemist
@the_codealchemist 3 ай бұрын
Sure, I'm currently working on Spring Security but as I get some time I will try to pick it.
@hemprakash3598
@hemprakash3598 3 ай бұрын
Awesome wrk bro,continue your work,and your springboot playlist is worth❤
@the_codealchemist
@the_codealchemist 3 ай бұрын
Much appreciated!
@flintyex.6984
@flintyex.6984 3 ай бұрын
ty
@flintyex.6984
@flintyex.6984 3 ай бұрын
yu
@g1patil
@g1patil 4 ай бұрын
Thanks for the great video. What is the point, if this is still manual ? Meaning we still have to call the /busefresh endpoint. Is there a way just to completely automate ? I hope spring provides something like this.
@the_codealchemist
@the_codealchemist 4 ай бұрын
Your observation is spot on..true even though it avoids the server starts but someone will have to call the endpoint. In business critical apps and sensitive orgs, there's generally a release process before pushing anything to production sort of a 4-eye check so there could be an internal process to indirectly hit the busrefresh endpoint after the approval for instance. However we can make it automated programmatically by listening to some events. Webhooks are generally the preferred way to make such things fully automated which can be used with Spring boot. Or K8s configmaps for instance if you're using Spring Kubernetes project.
@omkarsgaikwad7035
@omkarsgaikwad7035 4 ай бұрын
Very Good Explaination
@universal4334
@universal4334 4 ай бұрын
Wow! It's gonna be the best ever series in youtube.
@artilamba1
@artilamba1 4 ай бұрын
One of the best video about security
@the_codealchemist
@the_codealchemist 4 ай бұрын
Glad you liked it! More hands-on videos coming soon..
@ChilaKasonde
@ChilaKasonde 4 ай бұрын
Life saver thanks
@erfan_rad
@erfan_rad 4 ай бұрын
Very useful video. Could you make another video and use a webhook to auto refresh the configs without calling the actuator API? Also I don't know how to use this webhook when SSL verification is enabled in Github webhook configuration. Thanks in advance.
@the_codealchemist
@the_codealchemist 4 ай бұрын
Thanks for the feedback. I'm taking a note, will try to pick the idea.
@g1patil
@g1patil 4 ай бұрын
Looks like solution/comment I pasted got deleted. :)
@khalilromdhani6415
@khalilromdhani6415 4 ай бұрын
good job <3 please can you make a multitanency tutorial ?
@the_codealchemist
@the_codealchemist 4 ай бұрын
Thanks for your feedback! Multi tenancy is a broad topic, do you have anything specific in mind?
@stream.abhimanyu
@stream.abhimanyu 4 ай бұрын
really thank you from me(abhimanyu). You explained clearly with example.
@the_codealchemist
@the_codealchemist 4 ай бұрын
You're most welcome
@user-zj6iz1rl8d
@user-zj6iz1rl8d 4 ай бұрын
Brother I think in your spring playlist you have segmented microservices and this video wrong. idk if you intentionally put this video after microservice discorvery or not just wanna let you know
@the_codealchemist
@the_codealchemist 4 ай бұрын
Not a mistake but an end-to-end video since as we go on with the playlist it's all about services.
@dealscounty8556
@dealscounty8556 4 ай бұрын
Tutorial is good but this is not good for this current situation I would ask you to make one quick one for a post man CRUD operation, so all understands, your comparison of old vs new is not relevant and taking time to go thru all
@the_codealchemist
@the_codealchemist 4 ай бұрын
Thanks for your feedback. However I didn't get your point why this is not relevant? The agenda is Spring JDBC which is still useful for basics. Many old apps still use Spring JDBC code so it's good to know especially when someone is starting with Spring Data. There are other videos in the same playlist which cover different aspects like a CRUD api using Postman, Spring Data JPA and Spring Cloud. Hope you find what you're looking for. Let me know if I got your comment right.