All Projects → yeecode → Matrixauth

yeecode / Matrixauth

Licence: apache-2.0
High-performance lightweight distributed permission system. 高性能轻量级分布式权限系统。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Matrixauth

Ziggurat foundations
Framework agnostic set of sqlalchemy classes that make building applications that require permissions an easy task.
Stars: ✭ 67 (+63.41%)
Mutual labels:  authentication, authorization, permission
Jso
Easy to use OAuth 2.0 javascript library for use in your javascript application.
Stars: ✭ 830 (+1924.39%)
Mutual labels:  authentication, authorization
Github Create Token
Create a Github OAuth access token.
Stars: ✭ 6 (-85.37%)
Mutual labels:  authentication, authorization
Authomatic
Simple yet powerful authorization / authentication client library for Python web applications.
Stars: ✭ 962 (+2246.34%)
Mutual labels:  authentication, authorization
Php Auth
Authentication for PHP. Simple, lightweight and secure.
Stars: ✭ 713 (+1639.02%)
Mutual labels:  authentication, authorization
Aws Serverless Auth Reference App
Serverless reference app and backend API, showcasing authentication and authorization patterns using Amazon Cognito, Amazon API Gateway, AWS Lambda, and AWS IAM.
Stars: ✭ 724 (+1665.85%)
Mutual labels:  authentication, authorization
Dancer Plugin Auth Extensible
Authentication framework for Dancer-based web applications
Stars: ✭ 22 (-46.34%)
Mutual labels:  authentication, authorization
Social Core
Python Social Auth - Core
Stars: ✭ 618 (+1407.32%)
Mutual labels:  authentication, authorization
Fernet Java8
Java 8 implementation of the Fernet Specification
Stars: ✭ 24 (-41.46%)
Mutual labels:  authentication, authorization
Rbac
Hierarchical Role Based Access Control for NodeJS
Stars: ✭ 857 (+1990.24%)
Mutual labels:  authentication, authorization
React Firebase Authentication
🔥 Boilerplate Project for Authentication with Firebase in React.
Stars: ✭ 863 (+2004.88%)
Mutual labels:  authentication, authorization
Aspnet5identityserverangularimplicitflow
OpenID Connect Code / Implicit Flow with Angular and ASP.NET Core 5 IdentityServer4
Stars: ✭ 670 (+1534.15%)
Mutual labels:  authentication, authorization
Fwknop
Single Packet Authorization > Port Knocking
Stars: ✭ 664 (+1519.51%)
Mutual labels:  authentication, authorization
Auth0.js
Auth0 headless browser sdk
Stars: ✭ 755 (+1741.46%)
Mutual labels:  authentication, authorization
Pycasbin
An authorization library that supports access control models like ACL, RBAC, ABAC in Python
Stars: ✭ 625 (+1424.39%)
Mutual labels:  authorization, permission
Django Oidc Rp
A server side OpenID Connect Relying Party (RP, Client) implementation for Django.
Stars: ✭ 16 (-60.98%)
Mutual labels:  authentication, authorization
Typescript Seed
Typescript Seed Project (Angular, Hapi, Cookie Auth, TypeORM, Postgres)
Stars: ✭ 12 (-70.73%)
Mutual labels:  authentication, authorization
Wetech Admin
wetech-admin是基于Spring Boot 2.0+Mybatis+Vue的轻量级后台管理系统,适用于中小型项目的管理后台,支持按钮级别的权限控制,系统具有最基本的用户管理、角色管理、权限管理等通用性功能,企业或个人可直接在此基础上进行开发,扩展,添加各自的需求和业务功能!
Stars: ✭ 570 (+1290.24%)
Mutual labels:  authentication, authorization
Yosai
A Security Framework for Python applications featuring Authorization (rbac permissions and roles), Authentication (2fa totp), Session Management and an extensive Audit Trail
Stars: ✭ 582 (+1319.51%)
Mutual labels:  authentication, authorization
Keeper
Stars: ✭ 23 (-43.9%)
Mutual labels:  authentication, authorization
MatrixAuth

MatrixAuth

language version license

High-performance lightweight distributed permission system.


中文说明


1 System introduction

MatrixAuth is a high-performance distributed permission system. It implements permission management based on RBAC (role-based access control) model and supports access of multiple business applications.

Matrixauth has the following features:

  • High performance: the system supports access to dozens of business applications. MatrixAuthClient only needs to query the memory database once to complete the authorization work. It can support 100000 query requests per second for each business application.
  • Lightweight: the server of the system can be started directly with jar package. The system client is light and easy to use.
  • Multi tenant: the system supports the access of multiple business applications. Each business application can independently use and share the database and cache. Thus, data isolation among tenants is ensured. It can support the access of 100 service applications.
  • Scalable: the system can access multiple data sources, and each data source supports cluster expansion; the system can access multiple caches, and each cache supports cluster expansion.
  • Security: business calls cannot bypass the system's permission validation mechanism.
  • Reliable: there is no single failure point in the system, and the authority setting module, database and cache can be restarted independently without affecting the authorization operation of the business system.
  • Easy to use: after simple configuration, the system can use annotations to complete permission configuration. The server has a complete API interface.

2 System structure

Matrixauth system mainly consists of MatrixAuthServer, MatrixAuthClient, data source and cache. The relationship between these four parts and business system is shown in the figure below.

MatrixAuthServer is the permission management subsystem of MatrixAuth, through which business application management and role permission management can be realized. At the same time, MatrixAuthServer is also responsible for synchronizing various permission setting information into the database and cache.

MatrixAuthClient is a jar package that can be integrated into business applications. After the MatrixAuthClient is integrated into the business application and activated, it will verify the permission of every request entering the business application. Only when the initiator of the request has the relevant permission, the request will be released, otherwise the request will be blocked.

MatrixAuthClient needs to expand permission verification based on the information in the data source. A data source can be used by a business application's MatrixAuthClient alone, or shared by multiple business application's MatrixAuthClient. The business application's MatrixAuthClient can also not configure the data source. At this time, the business application's MatrixAuthClient will use the default data source.

You can configure the cache for MatrixAuthClient to improve its authentication efficiency. Cache configuration does not need to correspond to data sources one by one. The cache can be shared by MatrixAuthClient of one business application or by MatrixAuthClient of multiple business applications.

After the system setting is completed, the user's request to the business application will be verified by MatrixAuthClient in the business application. MatrixAuthClient will first go to the cache set by itself to read the permission information. If the cache is not set or the result is not found in the cache, it will go to the data source to query the permission information. Then, MatrixAuthClient will decide whether the request is released or blocked according to the permission information.


For more information, please refer to the MatrixAuth website : en.matrixauth.top

For more instructions, please refer to the MatrixAuth document : en.matrixauth.top/docs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].