shiro-uaa عبارة عن حساب مستخدم خفيف الوزن وخدمة حل مصادقة الهوية (UAA) تعتمد على Shiro.
عندما تبدأ مشروعًا لأول مرة، أعتقد أن بساطة Shiro ستصبح الخيار الأول لإطار عمل الأذونات لمعظم المطورين، ومع ذلك، عندما يتوسع المشروع من 1 إلى n ويتطلب مصادقة وتفويضًا موحدًا، فإن Shiro نفسه لا يدعم المصادقة والتفويض الموحد. لقد أصبح Shiro قيدًا على CasFilter، لكن CAS عبارة عن مجموعة أخرى من الأطر، وهي أثقل. من أجل جعل خدمة المصادقة والترخيص أبسط وأخف وزنًا وأسهل في الاستخدام، تم إنشاء Shiro-UAA.
خادم UAA خفيف الوزن
شيرو النقي
من السهل التعلم
من السهل التوسع
جاهز للخروج من الصندوق
1.auth الخادم
مخضرم
نقطة النهاية المضمنة
وصف عنوان URI/uaa-auth/authenticationسيتم توجيه عنوان طلب التفويض إلى صفحة تسجيل الدخول الخاصة بك/uaa-auth/authentication/apporveAuth Server يوافق على تفويض وتوزيع عنوان الرمز/uaa-auth/access-token للحصول على الوصول من عنوان Auth Server Token/uaa-auth/logout لتسجيل الخروج من خادم Authواجهة برمجة التطبيقات القابلة للتوسعة
وصف اسم الواجهة AccessClientService خدمة تطبيق الوصول AccessTokenService خدمة رمز الوصول AccountService خدمة المستخدم AuthCodeServicecode خدمة دور الخدمةتسجيل الدخول
قم بتخصيص صفحة تسجيل الدخول والتحقق من تسجيل الدخول، وتنفيذ org.apache.shiro.authc.credential.CredentialsMatcher، وتنفيذ منطق التحقق أثناء تسجيل الدخول، وتكوين shiro.loginUrl
خطأ إلى الأمام
افتراضيًا، عند حدوث مشكلة OAuthProblem على الخادم، فسوف ينتقل إلى عنوان المورد (معلمة redirect_uri) مع معلومات الخطأ. إذا تم تكوين ForwardErrorUrl، فلن يقوم بإعادة التوجيه وعرض صفحة الخطأ. يجب تخصيص الصفحة وتكوينها .uaa .server.forwardErrorUrl، الغرض من هذا التكوين هو منع القفزات غير الطبيعية باستخدام الخادم
معلمات التكوين الموسعة
وصف اسم المعلمة shiro.uaa.server.codeExpiresUAA وقت انتهاء صلاحية رمز التوزيع، الوحدة هي ثوانٍ shiro.uaa.server.accessTokenExpiresUAA وقت انتهاء صلاحية توزيع AccessToken، الوحدة هي ثوانٍ shiro.uaa.server.refreshTokenExpiresUAA وقت انتهاء صلاحية توزيع RefreshToken، الوحدة هي shiro ثوانٍ. عنوان تسجيل الدخول المخصص الخاص بـloginUrl shiro.uaa.server.clients[].name اسم تطبيق الوصول، صالح عند استخدام الذاكرة الافتراضية AccessClientService shiro.uaa.server.clients[].clientId معرف عميل الوصول، صالح عند استخدام الذاكرة الافتراضية AccessClientService shiro.uaa.server.clients[].clientSecret تطبيق الوصول ClientSecret، صالح عند استخدام الذاكرة الافتراضية AccessClientService shiro.uaa.server.roles[].name اسم الدور، المتوافق مع دور Shiro، صالح عند استخدام الذاكرة الافتراضية RoleService shiro .uaa .server.roles[].permCodes[] أذونات الدور، المقابلة لإذن Shiro، صالحة عند استخدام الذاكرة الافتراضية الذاكرة الافتراضية RoleService shiro.uaa.server .accounts[].اسم المستخدم اسم تسجيل الدخول للحساب، صالح عند استخدام الذاكرة الافتراضية AccountService shiro.uaa.server.accounts[].كلمة مرور حساب كلمة المرور، صالح عند استخدام الذاكرة الافتراضية AccountService shiro.uaa. حساب server.accounts[].roles[] له دور ويكون صالحًا عند استخدام الذاكرة الافتراضية AccountService shiro.uaa.server.forwardErrorUrl عنوان خطأ OAuthProblem المخصص2. خادم الموارد
مخضرم
filterChainDefinition
تنفيذ CustomFilterChainDefinition، وتحديد مسارات مختلفة للمرور عبر عوامل تصفية مختلفة، ويمر /** الافتراضي عبر ResourceServerFilter
تسجيل الخروج
قم بتسجيل الخروج من Resource Server أولاً، ثم قم بتسجيل الخروج من UAA، وقم بتكوين المعلمة shiro.logoutUrl لتحميل LogoutEndpoint
شرح
نفس شيرو
اسم التعليق التوضيحي@RequiresRoles@RequiresPermissions@RequiresUser@RequiresAuthentication@RequiresGuestمعلمات التكوين الموسعة
وصف اسم المعلمة عنوان Shiro.uaa.resource.serverSchemeUAA عنوان Schemeshiro.uaa.resource.serverHostUAA عنوان Hostshiro.uaa.resource.serverPortUAA عنوان Portshiro.uaa.resource.serverContextPathUAA عنوان contextPathshiro.uaa.resource.clientIdUAA تم تعيين ClientIdshiro له عنوان تسجيل الخروج لخادم .logoutUrlResource المخصص بواسطة UAA3. مسجل الأعمال
تسجيل سجلات أعمال المستخدم
شرح
اسم التعليق التوضيحي @BizLogger وصف طريقة التعليق التوضيحي، الملاحظات، الافتراضي: ""class_ سواء لتسجيل اسم الفئة، الافتراضي: truemethod ما إذا كان سيتم تسجيل اسم الطريقة، الافتراضي: truearguments تحتاج إلى تسجيل فهرس المعلمة، الافتراضي: {}return_whether للتسجيل القيمة المرجعة، الافتراضي: falsesubject سواء لتسجيل اسم المستخدم، الافتراضي: صحيحBizLoggerEntityStringifier
تنفيذ BizLoggerEntityStringifier، وتخصيص محتوى إخراج المسجل
jdk1.8+ والتمهيد الربيعي
توفير خدمات قابلة للنشر لخادم المصادقة
توفير مقاييس المستخدم لخادم المصادقة