স্প্রিং সিকিউরিটি বেসিক অথেনটিকেশন নিয়ে আমার পূর্বের আর্টিকেলটি দেখুন এখানে

এই আর্টিকেলে আমরা UserDetailsService দিয়ে ডেটাবেইজে ইউজারের টেবিল থেকে আমরা ইউজারকে অথেন্টিকেট করব।

এজন্য ইউজারের Entity কে একটু সাজাতে গুছাতে হবে। User class এ ইমপ্লিমেন্ট করে দিন স্প্রিং সিকিউরিটির UserDetails interface।

User Entity টা হবে এরকমঃ

User.java

এখানে @Override অ্যানোটেশন দেয়া মেথডগুলা UserDetails interface এর মেথড যেখানে আমি আমার User এর রেস্পেকটিভ ফিল্ডগুলা রিটার্ন করে দিয়েছি। মানে এখন থেকে স্প্রিং সিকিউরিটি চিনে নেবে কোনটা আমার কোন ফিল্ড।

 

আপনি যদি স্প্রিং সিকিউরিটিকে আপনার অ্যাপ্লিকেশনের কোডের সাথে জগাখিচুড়ি করতে না চান তবে একটু ভিন্ন অ্যাপ্রোচে এগুতে পারেন। সেটা নিচের দিকে দেখানো হবে। তবে আপাতত এভাবেই আমার ভালো লাগে, কারন স্প্রিং সিকিউরিটি ছাড়া অন্য কোন সিকিউরিটি ফ্রেমওয়ার্ক ভবিষ্যতে ইউজ করার সম্ভাবনা নাই।

এবার একটা সার্ভিস বিন তৈরি করুন। আমি এক্ষেত্রে নাম দিলাম CustomUserDetailsService যেটা স্প্রিং সিকিউরিটির এর UserDetailsService interface ইমপ্লিমেন্ট করবে।

CustomUserDetailsService.java

আমি এখানে UserDetails loadUserByUsername(String username)  মেথডে আর্গুমেন্ট হিসেবে দেয়া ইউজারনেম দিয়ে ইউজারকে খুঁজে বের করে এনে রিটার্ন করে দিয়েছি। ব্যাস কাজ এইটুকুই। স্প্রিং সিকিউরিটি বারকীটা আপনার জন্য হ্যাণ্ডেল করবে।

 

একটু আগে ভিন্ন অ্যাপ্রোচের কথা বলেছিলাম, যেখানে আপনার অ্য্যাপ্লিকেশনের কোডের সাথে স্প্রিং সিকিউরিটি কোডের কাপলিং হবে না।

এই অ্যাপ্রোচের চেহারাটা হতে পারে এরকমঃ

User.java

CustomUserDetailsService.java

5 thoughts on “স্প্রিং সিকিউরিটিঃ UserDetailsService দিয়ে ইউজার অথেনটিকেশন

  1. Vitamin

    whoah this blog is wonderful i really like reading your articles.
    Stay up the great work! You already know, lots of
    persons are searching round for this info, you could help them greatly.

  2. This is the perfect site for everyone who really wants to understand this topic.
    You realize so much its almost hard to argue with you (not that
    I personally will need to…HaHa). You certainly put a brand new spin on a subject that has
    been written about for decades. Great stuff, just wonderful! https://www.facebook.com/Vitamin-Shoppe-Coupon-Codes-1880283042254350/

  3. It’s a shame you don’t have a donate button! I’d most certainly donate to this fantastic
    blog! I guess for now i’ll settle for bookmarking and adding
    your RSS feed to my Google account. I look forward to fresh updates and will share this blog with my Facebook group.

  4. Thank you for the good writeup. It in fact was a amusement account
    it. Look advanced to far added agreeable from you! However, how could we communicate?

Leave a Comment