AllowedRegexRule এর মাধ্যমে নির্দিষ্ট প্যাটার্ন অনুমোদন

Advanced Password Constraints - প্যাসে (Passay) - Java Technologies

277

AllowedRegexRule হল Passay লাইব্রেরির একটি ক্লাস যা পাসওয়ার্ডের জন্য একটি নির্দিষ্ট রেগুলার এক্সপ্রেশন (regex) প্যাটার্নের সাথে সঙ্গতিপূর্ণ হতে হবে তা নিশ্চিত করে। এটি সাধারণত ব্যবহার করা হয় যখন আপনি পাসওয়ার্ডের মধ্যে কিছু নির্দিষ্ট ধরনের ক্যারেক্টার বা প্যাটার্ন অনুমোদন করতে চান। উদাহরণস্বরূপ, আপনি যদি চান যে পাসওয়ার্ডটি শুধুমাত্র নির্দিষ্ট অক্ষর বা সংখ্যা অন্তর্ভুক্ত করুক, তবে আপনি AllowedRegexRule ব্যবহার করতে পারেন।

উদাহরণ: AllowedRegexRule ব্যবহার

এখানে একটি উদাহরণ দেওয়া হচ্ছে যেখানে পাসওয়ার্ডে শুধুমাত্র নির্দিষ্ট প্যাটার্নের অক্ষর (যেমন ছোট হাতের অক্ষর এবং সংখ্যা) অনুমোদিত থাকবে:

import org.passay.*;

import java.util.Arrays;

public class AllowedRegexRuleExample {
    public static void main(String[] args) {
        // AllowedRegexRule ব্যবহার করা হচ্ছে শুধুমাত্র ছোট হাতের অক্ষর এবং সংখ্যা অনুমোদন করতে
        AllowedRegexRule allowedRegexRule = new AllowedRegexRule("[a-z0-9]+");

        PasswordValidator validator = new PasswordValidator(Arrays.asList(
            allowedRegexRule, // শুধুমাত্র ছোট হাতের অক্ষর এবং সংখ্যা অনুমোদিত
            new LengthRule(8, 16) // পাসওয়ার্ডের দৈর্ঘ্য 8-16 অক্ষর হতে হবে
        ));

        String password = "mypassword123";

        RuleResult result = validator.validate(new PasswordData(password));

        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ!");
        } else {
            System.out.println("পাসওয়ার্ড অবৈধ। কারণ:");
            validator.getMessages(result).forEach(System.out::println);
        }
    }
}

ব্যাখ্যা:

  • AllowedRegexRule: এটি একটি কাস্টম রুল যা একটি নির্দিষ্ট রেগুলার এক্সপ্রেশন (regex) প্যাটার্নের সাথে পাসওয়ার্ডের অক্ষর মিলিয়ে দেখবে। এখানে আমরা "[a-z0-9]+" প্যাটার্ন ব্যবহার করেছি, যা শুধুমাত্র ছোট হাতের অক্ষর এবং সংখ্যা অনুমোদন করে।
  • PasswordValidator: এই অবজেক্টটি পাসওয়ার্ডটি যাচাই করে এবং যদি এটি সমস্ত নির্দিষ্ট শর্ত পূরণ করে, তবে সেটি বৈধ হিসেবে গণ্য হয়।
  • LengthRule: এই রুলটি নিশ্চিত করে যে পাসওয়ার্ডটির দৈর্ঘ্য ৮ থেকে ১৬ অক্ষরের মধ্যে থাকতে হবে।

Output:

পাসওয়ার্ড বৈধ!

যদি পাসওয়ার্ডের মধ্যে অ-অনুমোদিত অক্ষর থাকে (যেমন বড় হাতের অক্ষর বা স্পেশাল ক্যারেক্টার), তাহলে এটি অবৈধ হিসেবে গণ্য হবে এবং এর সাথে সম্পর্কিত একটি ত্রুটি বার্তা দেখাবে।

কিছু উদাহরণ প্যাটার্ন:

  1. "[a-zA-Z0-9]+" — ছোট এবং বড় হাতের অক্ষর এবং সংখ্যা অনুমোদন।
  2. "[a-z]+[0-9]+" — প্রথমে ছোট হাতের অক্ষর, পরে সংখ্যা থাকতে হবে।
  3. "^[A-Za-z0-9]*$" — শুধুমাত্র ইংরেজি অক্ষর এবং সংখ্যা অনুমোদিত।

এভাবে, আপনি পাসওয়ার্ডের জন্য আপনার প্রয়োজনীয় প্যাটার্ন নিয়ন্ত্রণ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...