GithubHelp home page GithubHelp logo

furkandeveloper / easypermissionmanagement Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 4.0 150 KB

This repo provides easily permission management on your aspnetcore project

Home Page: https://furkandeveloper.github.io/EasyPermissionManagement/

License: MIT License

C# 100.00%
permission-manager permissions permission permissionmanagement

easypermissionmanagement's Introduction

Gitmoji


Source Badges
Code Quality codebeat badge Maintainability Codacy Badge CodeFactor
Stats For PostgreSQL Nuget Nuget
Stats For Core Nuget Nuget
Stats For AspNetCore Nuget Nuget
Stats For EntityFrameworkCore Nuget Nuget
License License: MIT
Github Activity GitHub commit activity GitHub contributors GitHub last commit GitHub search hit counter GitHub code size in bytes GitHub repo size
Languages GitHub top language
Issue Tracking GitHub issues GitHub closed issues GitHub closed pull requests GitHub pull requests

Give a Star 🌟

If you liked the project or if EasyPermissionManagement helped you, please give a star.


Purpose

Easy Permission Management provides easily permission management on your aspnetcore project.


Supported Databases

  • PostgreSQL

Planned Databases

  • Sql Server
  • MariaDb
  • MySql
  • Mongo
  • SqLite
  • Firebird
  • Oracle

Permission-based Authorization

Typically, applications require more than just authenticated users. We would like to have users with different sets of permissions. The easiest way to achieve this is with the role-based authorization where we allow users to perform certain actions depending on their membership in a role.

For small applications, it might be perfectly fine to use role-based authorization, but this has some drawbacks. For instance, it would be difficult to add or remove roles, because we would have to check every AuthorizeAttribute with role specified in our code whenever we changed roles.

More flexible authorization could be implemented using claims. Instead of checking role membership, we check if a user has a permission to perform a certain action. Permission in this case is represented as a claim.


Documentation

Visit Wiki page for documentation. Lets learn. πŸ‘¨β€πŸŽ“πŸ§

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Furkan GΓΌngΓΆr

πŸ§‘β€πŸ«

This project follows the all-contributors specification. Contributions of any kind welcome!


Alt

Star History

Star History Chart

easypermissionmanagement's People

Contributors

allcontributors[bot] avatar furkandeveloper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

easypermissionmanagement's Issues

✨[FEATURE] Multiple Permission For EasyCheck Attribute

Summary

I want to do more than one permission check for any endpoint.

I should be able to extend these permissions with the AND or OR option.

So I can do multiple permission checks.

For example;

[EasyCheck("lead.read","lead.create","lead.delete", "User", "OR")]

⛏ [Infrastructure] Implement core layer

Summary

This issue must be solve infrastructure of permission management.

  • Must be define new permission
  • Must be define permission structure. For example (PermissionKey.{Action}) (Action : Create, Read, Update, Delete)
  • Must be uses aspnetcore implementation with action filter.
  • Must be defines dynamic identifier action
  • Must be identifier flag for identifier objects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.