Clone this repo:

Branches

  1. 4bb32e9 feat: Add main.rs, routes, apis and enable clippy check (#5) by Siddhesh Kanawade · 3 years, 7 months ago master
  2. abbefe2 feat: add services and middleware (#4) by Siddhesh Kanawade · 3 years, 7 months ago
  3. 949e2aa feat: Add utils and models (#3) by Siddhesh Kanawade · 3 years, 7 months ago
  4. cf5b9c0 feat: Add diesel migration files, setup Database, add authn middleware template (#2) by Siddhesh Kanawade · 3 years, 7 months ago
  5. 270938d feat: github actions, filestructure (#1) by Siddhesh Kanawade · 3 years, 7 months ago

Actix-web example with Casbin Middleware and Actor

Check Code

A simple Anonynous Forum app using Actix-web, Casbin and Diesel, with JWT support. This example uses Casbin Actix Middleware and Casbin Actix Actor

Require

Running Server

  • Rename secret.key.sample to secret.key or create your own key by running head -c16 /dev/urandom > secret.key in command line and copy to /src folder
  • Create a database in postgres.
  • Rename .env.sample to .env.
  • Update DATABASE_URL with your custom configuration.
  • You may modify APP_HOST, APP_PORT, POOL_SIZE with your custom configuration.
  • WARNING: Please do not change HASH_ROUNDS, if you insist to do so, please modify the root default password with bcrypt encryption manually (/migrations/2020-07-15-061549_add_root_user/up.sql).
  • Run with release profile: cargo run --release

Explanation

  • Default root username: root, root password: casbin
  • After running the server you may register admin user with password, then modify the user table in database, alter the role column into 1. Then you have admin permission with user admin.
  • preset.csv contains the casbin policies which you want add in the begining, you can alter it to meet your needs.
  • casbin.conf is the casbin configuration file, you can alter it to meet your needs.
  • WARNING: If you want to run this example, suggest not modify preset.csv and casbin.conf.