{"adoption": {"forks": 1041, "observed_at": "2026-08-28T04:06:06.796244+00:00", "stars": 2025}, "canonical_url": "https://ross.abutalabs.com/products/renren-security", "card": {"archived": false, "artifact_type": "framework", "description": "采用Spring、MyBatis、Shiro框架，开发的一套权限系统，极低门槛，拿来即用。设计之初，就非常注重安全性，为企业系统保驾护航，让一切都变得如此简单。【QQ群：324780204、145799952】", "domain": ["web-development", "backend", "developer-tools", "security"], "enriched": true, "function": ["auth", "authorization", "web-framework", "orm", "scheduling", "developer-tools", "security"], "health_score": 20, "homepage": "https://www.renren.io/community", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["renrenio/renren-security"], "name": "renrenio/renren-security", "platform": ["jvm", "cross-platform"], "pushed_at": "2023-04-17T19:16:11+00:00", "repo": "renrenio/renren-security", "stars": 2025, "tags": ["spring-boot", "shiro", "mybatis-plus", "admin-scaffold", "code-generator", "rbac", "vue2", "boilerplate", "chinese", "web-server"], "topics": [], "urls": [], "use_cases": ["build an admin backend with role-based access control in Java", "scaffold a Spring Boot management system quickly", "generate CRUD code for entities, DAOs, services, and Vue pages", "manage users, roles, departments, and data-scope permissions", "add scheduled jobs with Quartz to a Java web app", "kickstart a freelance project with a ready-made admin platform"], "what_it_is": "renren-security is a lightweight, front-end/back-end separated Java rapid development platform and permission (RBAC) system built on Spring Boot, Apache Shiro, and MyBatis-Plus. It ships with user/role/department management, data-scope permissions, a code generator, Quartz scheduling, XSS protection, and cloud storage integrations so enterprise admin systems can be delivered with minimal boilerplate.", "when_to_avoid": ["you need a microservices architecture rather than a monolithic admin platform", "your stack is not Java/Spring Boot or you want a Vue 3 front end (the open version uses Vue 2)", "you require cutting-edge, frequently updated dependencies - the open-source release cadence is slow", "you need OAuth2/JWT-native security instead of Apache Shiro"], "when_to_choose": ["you need a low-barrier Java admin/permission scaffold with users, roles, and departments out of the box", "you want a code generator to cut CRUD boilerplate by 70%", "you prefer Shiro-based security with page- and button-level permission control", "you need support for MySQL, Oracle, SQL Server, or PostgreSQL"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/renren-security", "repo": "renrenio/renren-security", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.796244+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:46.931150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35241a465d3919510c10bdef7408d00e7f7858f6fdede250707a9590ca30f9e3", "fetched_at": "2026-08-28T04:06:06.796244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/renrenio/renren-security"}, {"content_hash": "93883941ae9694cc3b10d107f88c40d27fd033f8eb2caf1c8b6388345916399a", "fetched_at": "2026-08-29T10:40:00.003018+00:00", "kind": "homepage", "missing": false, "url": "https://www.renren.io/community"}, {"content_hash": "cf6aa374d150389cb3422360423e4c7b2fc91a700683dbc4c5c5e23fdb1038cb", "fetched_at": "2026-08-29T10:40:00.005725+00:00", "kind": "site_page", "missing": false, "url": "https://www.renren.io/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3536, "days_push": 1234, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}