This work focuses on improving Solid-based extended access control and traceability in data-driven web-based systems. By implementing an extended access control mechanism and improved traceability of data access, this project aims to strengthen the security and transparency of web applications. The Solid Protocol forms the basis for these enhancements, which aim to provide clear and effective control over access to sensitive data.
In this repository you will find the complete source code, detailed integration instructions and examples of how to use these extensions. The thesis provides not only a theoretical foundation, but also practical implementations for developers and researchers concerned with privacy and access control in modern web applications.
To be able to run the web applications locally, you need the following entries in your host file:
127.0.0.1 client.localhost
127.0.0.1 dpc.localhost
127.0.0.1 proxy.localhost
127.0.0.1 server.localhost
These entries are necessary so that Node.js and Docker can be resolved as local hosts.
In addition, an .env file is required to provide the necessary environment variables at runtime. You can find the available environment variables in .example.env or copy the entire file:
cp .example.env .env
Some variables cannot be set immediately and are only added after the first start of the application.
Once you have performed the general Installation, you can install the project via Node.js. Please use pnpm as package manager for this:
pnpm install
To add the missing environment variables, you can start the application for the first time:
pnpm run dev
Wait until the seeding of the Community Solid Server is finished and execute the bootstrapping script while the application is running:
node ./scripts/install/bootstrap.js
This command completes the missing environment variables in the .env file. The application must be restarted for the environment variables to be loaded.
Alternatively, you can also use Docker to install and build the application within a container. However, the general installation must also have been performed for this.
docker network create seact
docker compose up --build
This command builds and starts the application. If this was successful, wait until the seeding of the Community Solid Server is finished, and execute the bootstrapping script:
docker run -it --rm --name seact-bootstrap --network=seact -v "$PWD":/usr/src/app -w /usr/src/app node:22-alpine3.18 node ./scripts/install/bootstrap.js
This command completes the missing environment variables in the .env file. The application must be restarted for the environment variables to be loaded.
If you want to run this project, enter one of the following commands in your terminal, depending on whether you have installed the application via Node.js or Docker:
pnpm run dev
or
docker compose up
The following users are available in development mode:
name | password | |
---|---|---|
client[1…100] |
client[1…100]@example.com |
secret! |
dpc |
secret! |
The accounts are available at http:https://proxy.localhost:4000/.account/
This project is part of a master’s thesis. It was created on behalf of mgm tp, which retains copyright to all artifacts. See LICENSE.