GithubHelp home page GithubHelp logo

dseeni / lua-lace Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lunarmodules/lua-lace

0.0 0.0 0.0 217 KB

Lua Access Control Engine

Home Page: https://lunarmodules.github.io/lua-lace/manual/README.md.html

License: BSD 3-Clause "New" or "Revised" License

Lua 99.27% Makefile 0.73%

lua-lace's Introduction

Luacheck Tests Coveralls code coverage

Lua Access Control Engine - Lace

Lace is a simple access control engine modelled on Squid's acl syntax. It provides a parser of rulesets and an engine to execute the parsed rulesets. It relies on the calling application to provide access control types and then Lace runs the boolean logic and returns an allow/deny result along with the location of the decision and any description provided by it. Lace also handles errors in the control callbacks to always return gracefully in the form:

local result, reason = engine:run(context)

if result == nil then
   report_error(reason)
elseif result == false then
   handle_deny(reason)
else
   handle_allow(reason)
end

Lace is designed to allow a ruleset loaded into an engine to be run multiple times with different contexts, each time unaffected by the last. Of course, this relies on various idempotency requirements being placed on the control type callbacks, but that is covered in the usage documentation.

For some examples of using Lace, please see the examples/ tree.

Thanks

Thanks go to Codethink Limited for sponsoring development by means of tea, biscuits and long lunch hours.

lua-lace's People

Contributors

alerque avatar danielsilverstone-ct avatar kinnison avatar mwild1 avatar richardmaw-codethink avatar tieske avatar zash avatar

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.