casbin - An authorization library that supports access control models like ACL, RBAC, ABAC in Golang

  •        274

Casbin is a powerful and efficient open-source access control library for Golang projects. It provides support for enforcing authorization based on various access control models. In Casbin, an access control model is abstracted into a CONF file based on the PERM metamodel (Policy, Effect, Request, Matchers). So switching or upgrading the authorization mechanism for a project is just as simple as modifying a configuration. You can customize your own access control model by combining the available models. For example, you can get RBAC roles and ABAC attributes together inside one model and share one set of policy rules.

http://casbin.org/
https://github.com/casbin/casbin

Tags
Implementation
License
Platform

   




Related Projects

authz - gin-authz is an authorization middleware for Gin

  •    Go

Authz is an authorization middleware for Gin, it's based on https://github.com/casbin/casbin. For how to write authorization policy and other details, please refer to the Casbin's documentation.

xorm-adapter - Xorm adapter for Casbin

  •    Go

Xorm Adapter is the Xorm adapter for Casbin. With this library, Casbin can load policy from Xorm supported database or save policy to it. This project is under Apache 2.0 License. See the LICENSE file for the full license text.

defender - Roles & Permissions for Laravel 5

  •    PHP

Defender is an Access Control List (ACL) Solution for Laravel 5.* (single auth). (Not compatible with multi-auth) With security and usability in mind, this project aims to provide you a safe way to control your application access without losing the fun of coding. Defender is looking for maintainers and contributors.


go-simple-api-gateway - [dev] simple api gateway written by golang

  •    Go

A simple API gateway written by golang. Support for authenticate and authorization, and web applications will be protected after the gateway.

ladon - A SDK for access control policies: authorization for the microservice and IoT age

  •    Go

Ladon is the serpent dragon protecting your resources.Ladon is a library written in Go for access control policies, similar to Role Based Access Control or Access Control Lists. In contrast to ACL and RBAC you get fine-grained access control with the ability to answer questions in complex environments such as multi-tenant or distributed applications and large organizations. Ladon is inspired by AWS IAM Policies.

rbac - PHP-RBAC is an authorization library for PHP

  •    PHP

PHP-RBAC is an authorization library for PHP. It provides developers with NIST Level 2 Hierarchical Role Based Access Control and more, in the fastest implementation yet. Take a look at the "Before You Begin" section of our Documentation to learn what an RBAC system is and what PHP-RBAC has to offer you and your project.

zfc-rbac - Role-based access control module to provide additional features on top of Zend\Permissions\Rbac

  •    PHP

ZfcRbac is an access control module for Zend Framework 2, based on the RBAC permission model. If you are looking for older version of ZfcRbac, please refer to the 0.2.x branch. If you are using ZfcRbac 1.0, please upgrade to 2.0.

slim-auth - Authorization and authentication for the Slim Framework using ZF2 Authentication and Acl components

  •    PHP

Slim Auth is an authorization and authentication library for the Slim Framework. Authentication is provided by the Zend Framework Zend\Authentication component, and authorization by the Zend Framework Zend\Permissions\Acl component. If you're familiar with Zend\Authentication and Zend\Permissions\Acl, you'll be able to implement the library without any trouble. Otherwise, you might want to wait for the docs to be completed (no ETA) or open a GitHub issue with any questions or problems you encounter.

Apache Fortress - Identity and Access Management

  •    Java

Apache Fortress the open source identity and access management built on OpenLDAP. Fortress is designed to address complex authentication, authorization and auditing needs simply and easily. It helps to ensure strict adherence to current security standards while allowing for ease of installation and ongoing maintenance. A standards-based access management system, written in Java, that provides role-based access control, delegated administration and password policy services with LDAP.

crane - Yet another control plane based on docker built-in swarmkit

  •    Go

Crane, maintained by dataman-cloud, is a docker control panel based on latest docker release. Besides swarm features, Crane implements some badly needed functionalities by enterprise user, such as private registries authentication, ACL and application DAB(distributed application bundle) sharing. The smart fuzzy search function give user quickly access to the desired page. Crane can help storing registry auth pair, from where you can choose a predefined registry auth pair when deploying a DAB, without the need to docker login when access private image. Crane can also help sharing your private images with your coworkers easily.CRANE_IP should be assigned the real host ip address of the running Crane host which is the swarm manager also.

loopback-example-access-control - An example demonstrating LoopBack access control mechanisms.

  •    Javascript

Each user type has permission to perform tasks based on their role and the application's ACL (access control list) entries.No properties are required for the user model because we inherit them from the built-in User model by specifying it as the base class.

MACA

  •    Java

The MACA objective is to provide user authentication, session management and authorization services independently of platform. Authorization servive is based on a contextual role-based access control model that extends NIST RBAC

gatekeeper - Gatekeeper: An Authentication & Authorization Library

  •    PHP

The Gatekeeper library is a simple drop-in library that can be used to manage users, permissions and groups for your application. The goal is to make securing your application as simple as possible while still providing a solid and secure foundation to base your user system around. Gatekeeper is best classified as a Role-Base Access Control (RBAC) system with users, groups and permissions. It is framework-agnostic and is set up to use its own database for the user handling.

SecuritySpace

  •    

Role-Based Access Control for Applications ranged from Standalone to Multi-tier. Also contain : Permission management. Support for multi-database types.

laratrust - Handle roles and permissions in your Laravel application

  •    PHP

Laratrust is an easy and flexible way to add roles, permissions and teams authorization to Laravel 5 (>=5.2.32). For Laravel < 5.2.32 please use the 4.0 branch.

declarative_authorization - An unmaintained authorization plugin for Rails

  •    Ruby

The declarative authorization plugin offers an authorization mechanism inspired by RBAC. The most notable distinction to other authorization plugins is the declarative approach. That is, authorization rules are not defined programmatically in between business logic but in an authorization configuration. With programmatic authorization rules, the developer needs to specify which roles are allowed to access a specific controller action or a part of a view, which is not DRY. With a growing application code base roles' permissions often change and new roles are introduced. Then, at several places of the source code the changes have to be implemented, possibly leading to omissions and thus hard to find errors. In these cases, a declarative approach as offered by decl_auth increases the development and maintenance efficiency.