furkandeveloper/EasyPermissionManagement

View on GitHub
README.md

Summary

Maintainability
Test Coverage
<p align="center">
  <img src="https://user-images.githubusercontent.com/47147484/136712257-bf88799b-f3e8-4102-bf77-91bdf6a9f5b6.png" style="max-width:100%;" height="140" />
</p>

<p align="center">
  <a href="https://gitmoji.carloscuesta.me">
    <img src="https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat-square" alt="Gitmoji">
  </a> 
</p>

***

| Source     | Badges                |
| :------- | :------------------------- |
| `Code Quality` | [![codebeat badge](https://codebeat.co/badges/1a7e6159-96c4-4972-8eda-7a6e88c58458)](https://codebeat.co/projects/github-com-furkandeveloper-easypermissionmanagement-master) [![Maintainability](https://api.codeclimate.com/v1/badges/88f30c925600cd05fa45/maintainability)](https://codeclimate.com/github/furkandeveloper/EasyPermissionManagement/maintainability) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/cd633565e10e43c8b8d5fb33ef1ac7ae)](https://www.codacy.com/gh/furkandeveloper/EasyPermissionManagement/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=furkandeveloper/EasyPermissionManagement&amp;utm_campaign=Badge_Grade) [![CodeFactor](https://www.codefactor.io/repository/github/furkandeveloper/easypermissionmanagement/badge/master)](https://www.codefactor.io/repository/github/furkandeveloper/easypermissionmanagement/overview/master) |
| `Stats For PostgreSQL` | ![Nuget](https://img.shields.io/nuget/dt/EasyPermissionManagement.PostgreSql?label=PostgreSQL%20Downloads) ![Nuget](https://img.shields.io/nuget/v/EasyPermissionManagement.PostgreSql?label=PostgreSQL) |
| `Stats For Core` | ![Nuget](https://img.shields.io/nuget/dt/EasyPermissionManagement.Core?label=Core%20Downloads) ![Nuget](https://img.shields.io/nuget/v/EasyPermissionManagement.Core?label=Core) |
| `Stats For AspNetCore` | ![Nuget](https://img.shields.io/nuget/dt/EasyPermissionManagement.AspNetCore?label=AspNetCore%20Downloads) ![Nuget](https://img.shields.io/nuget/v/EasyPermissionManagement.AspNetCore?label=AspNetCore) |
| `Stats For EntityFrameworkCore` | ![Nuget](https://img.shields.io/nuget/dt/EasyPermissionManagement.EntityFrameworkCore?label=EntityFrameworkCore%20Downloads) ![Nuget](https://img.shields.io/nuget/v/EasyPermissionManagement.EntityFrameworkCore?label=EntityFrameworkCore) |
| `License` | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)  |
| `Github Activity` | ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/furkandeveloper/EasyPermissionManagement) ![GitHub contributors](https://img.shields.io/github/contributors/furkandeveloper/EasyPermissionManagement) ![GitHub last commit](https://img.shields.io/github/last-commit/furkandeveloper/EasyPermissionManagement) ![GitHub search hit counter](https://img.shields.io/github/search/furkandeveloper/EasyPermissionManagement/EasyPermissionManagement) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/furkandeveloper/EasyPermissionManagement) ![GitHub repo size](https://img.shields.io/github/repo-size/furkandeveloper/EasyPermissionManagement)|
| `Languages` | ![GitHub top language](https://img.shields.io/github/languages/top/furkandeveloper/EasyPermissionManagement) |
| `Issue Tracking` | ![GitHub issues](https://img.shields.io/github/issues/furkandeveloper/EasyPermissionManagement) ![GitHub closed issues](https://img.shields.io/github/issues-closed/furkandeveloper/EasyPermissionManagement) ![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/furkandeveloper/EasyPermissionManagement) ![GitHub pull requests](https://img.shields.io/github/issues-pr/furkandeveloper/EasyPermissionManagement) |

***

## 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](https://github.com/furkandeveloper/EasyPermissionManagement/wiki) page for documentation. Lets learn. πŸ‘¨β€πŸŽ“πŸ§



## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
    <td align="center"><a href="https://furkangungor.krawl.me/"><img src="https://avatars.githubusercontent.com/u/47147484?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Furkan GΓΌngΓΆr</b></sub></a><br /><a href="#mentoring-furkandeveloper" title="Mentoring">πŸ§‘β€πŸ«</a></td>
  </tr>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

<hr/>

![Alt](https://repobeats.axiom.co/api/embed/e431142fb56e31582b660eab3ab064598ff73ff6.svg "Repobeats analytics image")

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=furkandeveloper/EasyPermissionManagement&type=Date)](https://star-history.com/#furkandeveloper/EasyPermissionManagement&Date)