Git Product home page Git Product logo

rbac-project's Introduction

RBAC Project:

The Web makes information easily accessible to the public. However, in many cases the information should be accessed in a selective way. For example, credit card information should be accessible by a company employee that handles commercial transactions of the company. The same information should not be accessible by customers of the company. A widely‐used way to handle access control is role‐based access control (RBAC). In this project will implement the part of the so‐called Policy Decision Point (PDP) that decides whether a request for data access is granted based on a simplified RBAC model introduced by Damiani et al. (2002)*.

User file format:
UserId:Role,Role,Role,...,Role

Classes:
-UserId
--int hashCode()
--boolean equals(Object o)

-UserRoles
--File theFile
--Map<String, ArrayList<String>> userRoles
--void UserRoles()
--void UserRoles(File theFile)
--void addWithRoleList(String userid, ArrayList<String> roles)
--void addWithRoleString(String userid, String role)
--void remove(String userid)
--boolean contains(String userid)
--ArrayList<String> getValues(String userid)
--int getSize()
--void buildDictionary()

-UserRolesTest
--ArrayList<String> roleList
--UserRoles roles
--UserId userid
--UserId userid2
--UserId userid3
--void shouldNotContainAnyUserIdWhenGivenNullRoleList()
--void shouldContainCorrectUserIdAndRoleWhenGivenUserIdAndRoleAsAString()
--void shouldContainCorrectUserIdAndRoleWhenGivenUserIdAndRoleAsAnArrayList()
--void shouldContainOnlyOneUserIdWhenAddMultipleEqualUserIds()
--void shouldHaveMultipleRolesForUserIdWhenAddedWithMultipleRoles()
--void shouldNotContainAnyUserIdWhenGivenNullRoles()
--void shouldContainThreeUserIdsWhenAddThreeUserIds()
--void shouldRemoveCorrectUserIdAndRoleWhenGivenUserIdToRemove()
--void shouldNotRemoveAnyUserIdWhenRemovingUserIdThatIsNotInDictionary()
--void shouldHaveThreeUserIdsEachWithCorrectUserRoles()
--void setup()
--void addARoleToList(String roleStr)

rbac-project's People

Contributors

theinfamousrj avatar

Watchers

 avatar  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.