منصوبے کے بارے میں

Sa-Token ایک ہلکا پھلکا جاوا پرمیشن تصدیقی فریم ورک ہے جسے dromara کمیونٹی برقرار رکھتی ہے، Apache-2.0 لائسنس کے تحت اوپن سورس ہے، موجودہ ورژن v1.46.0 ہے، اور JDK 8 سے 25 تک سپورٹ کرتا ہے۔ اس پروجیکٹ کو "آل ان ون" تصدیقی حل کے طور پر پوزیشن دی گئی ہے، جس کے بنیادی ماڈیولز میں لاگ ان تصدیق، اجازت کی تصدیق، سنگل سائن آن (SSO)، OAuth2.0، اور مائیکرو سروس تصدیق شامل ہیں۔ لاگ ان تصدیق کے حوالے سے، فریم ورک جامد کالز کے ذریعے سیشن لاگ ان اور جانچ مکمل کرتا ہے، جیسے StpUtil.login(اکاؤنٹ آئی ڈی) لاگ ان مکمل کرتا ہے، StpUtil.checkLogin() لاگ ان کی حالت کی جانچ کرتا ہے، اور لاگ ان نہ ہونے پر NotLoginException پھینکتا ہے۔ اجازت کی تصدیق دو طریقوں کو سپورٹ کرتی ہے: اینوٹیشن اور روٹ انٹرسیپٹر۔ اینوٹیشن جیسے @SaCheckPermission("user:add") تصدیق کو بزنس کوڈ سے الگ کر سکتا ہے؛ روٹ انٹرسیپشن SaInterceptor اور SaRouter.match کے ذریعے راستے کے ماڈیول کے مطابق اجازتیں تقسیم کرتی ہے۔ فریم ورک بہت ساری خصوصیات کا احاطہ کرتا ہے، README میں درج ہیں: سنگل/ملٹی اینڈ لاگ ان، ایک ہی اینڈ پر باہمی خارجی لاگ ان، یاد رکھیں موڈ، دو سطحی تصدیق، کک آؤٹ (اکاؤنٹ آئی ڈی یا ٹوکن ویلیو کے ذریعے)، اکاؤنٹ بلاک کرنا، عارضی شناخت کی تبدیلی، دوسرے اکاؤنٹ کی نقل، سیشن کی تلاش، عالمی سننے والا اور عالمی فلٹر، ملٹی اکاؤنٹ سسٹم تصدیق، Http Basic/Digest تصدیق، پاس ورڈ انکرپشن ٹول، عارضی ٹوکن، اسٹینڈ اکیلے Redis، خودکار تجدید، ٹیگ ڈائلیکٹ (Thymeleaf، beetl) وغیرہ۔ پرسسٹنس پرت Redis کو مربوط کر سکتی ہے تاکہ ری اسٹارٹ پر ڈیٹا ضائع نہ ہو، اور فرنٹ اینڈ بیک اینڈ علیحدگی کے منظرناموں میں APP، منی پروگرام جیسے کوکی کے بغیر ٹرمینلز کی تصدیق کو سپورٹ کرتی ہے۔ SSO ماڈیول تین طریقے فراہم کرتا ہے: طریقہ ایک فرنٹ اینڈ ایک ہی ڈومین اور بیک اینڈ ایک ہی Redis کے لیے ہے، مشترکہ کوکی کے ذریعے سیشن ہم آہنگ کرتا ہے؛ طریقہ دو فرنٹ اینڈ مختلف ڈومین لیکن بیک اینڈ ایک ہی Redis کے لیے ہے، URL ری ڈائریکٹ کے ذریعے سیشن پھیلاتا ہے؛ طریقہ تین فرنٹ اینڈ مختلف ڈومین اور بیک اینڈ مختلف Redis کے لیے ہے، HTTP درخواست کے ذریعے ٹکٹ کی جانچ کر کے سیشن حاصل کرتا ہے۔ پروجیکٹ NoSdk موڈ کی مثال اور sso-server انٹرفیس دستاویزات بھی فراہم کرتا ہے، تاکہ غیر جاوا پروجیکٹس کو مربوط کیا جا سکے، اور ڈومین کی جانچ، ٹکٹ کی جانچ، پیرامیٹر دستخط کی جانچ جیسے حفاظتی اقدامات شامل ہیں۔ OAuth2 ماڈیول چار اجازت کے طریقوں کو سپورٹ کرتا ہے: اتھارٹی کوڈ، پوشیدہ، پاس ورڈ، اور کلائنٹ کریڈینشل۔ اس کے علاوہ، فریم ورک JWT انضمام (تین طریقے)، RPC کال تصدیق اور حالت کی منتقلی (dubbo، grpc وغیرہ)، API کلید خفیہ اجازت، API پیرامیٹر دستخط (چھیڑ چھاڑ سے بچاؤ، ری پلے سے بچاؤ) جیسی صلاحیتیں فراہم کرتا ہے۔ انضمام کے حوالے سے، SpringBoot 2 کے علاوہ، یہ SpringBoot 3/4، Solon، JFinal جیسے فریم ورکس کے انضمام پیکجز فراہم کرتا ہے، اور Gateway، ShenYu، Zuul جیسے گیٹ ویز کے روٹ انٹرسیپشن تصدیق کو بھی اپناتا ہے۔ پروجیکٹ کے ساتھ 60 سے زیادہ اسٹینڈ اکیلے مثالیں شامل ہیں، جو لاگ ان تصدیق، اجازت کی تصدیق، SSO، OAuth2، مائیکرو سروس تصدیق، JWT، پیرامیٹر دستخط جیسے منظرناموں کا احاطہ کرتی ہیں، اور کثیر لسانی نفاذ کے ورژن (Rust، Go، NodeJS، PHP) کے کمیونٹی لنکس فراہم کرتی ہیں۔ دستاویزات بنیادی طور پر چینی میں ہیں، اور روایتی چینی، انگریزی، جاپانی، کورین، روسی ورژن بھی فراہم کرتی ہیں۔ README میں کئی انضمام کی مثالیں درج ہیں، جیسے Snowy، RuoYi-Vue-Plus، Smart-Admin، چینگ دان، ڈینگ ڈینگ، شی یی بلاگ وغیرہ، اور Gitee GVP، GitCode G-Star جیسے کمیونٹی اعزازات کا ذکر کیا گیا ہے۔