All Projects → bytefish → VersioningWithEnvers

bytefish / VersioningWithEnvers

Licence: MIT license
Versioning and Auditing with Hibernate Envers.

Programming Languages

java
68154 projects - #9 most used programming language
Batchfile
5799 projects
shell
77523 projects

Projects that are alternatives of or similar to VersioningWithEnvers

Twa
A tiny web auditor with strong opinions.
Stars: ✭ 549 (+Infinity%)
Mutual labels:  auditing
Windows Secure Host Baseline
Configuration guidance for implementing the Windows 10 and Windows Server 2016 DoD Secure Host Baseline settings. #nsacyber
Stars: ✭ 1,288 (+Infinity%)
Mutual labels:  auditing
Laravel Auditing
Record the change log from models in Laravel
Stars: ✭ 2,210 (+Infinity%)
Mutual labels:  auditing
Parse Auditor
Audit module for Parse Platform
Stars: ✭ 19 (+Infinity%)
Mutual labels:  auditing
Gscan
本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。
Stars: ✭ 1,177 (+Infinity%)
Mutual labels:  auditing
Daudit
🌲 Configuration flaws detector for Hadoop, MongoDB, MySQL, and more!
Stars: ✭ 108 (+Infinity%)
Mutual labels:  auditing
Sshpiper
The missing reverse proxy for ssh scp
Stars: ✭ 489 (+Infinity%)
Mutual labels:  auditing
Androtickler
Penetration testing and auditing toolkit for Android apps.
Stars: ✭ 225 (+Infinity%)
Mutual labels:  auditing
Entityframework.commontools
Extensions, Auditing, Concurrency Checks, JSON properties and Transaction Logs for EntityFramework and EFCore
Stars: ✭ 82 (+Infinity%)
Mutual labels:  auditing
Wordpress Scanner
Wordpress Vulnerability Scanner
Stars: ✭ 137 (+Infinity%)
Mutual labels:  auditing
Office365 Audit Log Collector
Collector script for retrieving audit logs from the Office 365 API with file or network/graylog output.
Stars: ✭ 39 (+Infinity%)
Mutual labels:  auditing
Inspec Gcp Cis Benchmark
GCP CIS 1.1.0 Benchmark InSpec Profile
Stars: ✭ 69 (+Infinity%)
Mutual labels:  auditing
Cag
Crypto Audit Guidelines
Stars: ✭ 115 (+Infinity%)
Mutual labels:  auditing
My Arsenal Of Aws Security Tools
List of open source tools for AWS security: defensive, offensive, auditing, DFIR, etc.
Stars: ✭ 6,464 (+Infinity%)
Mutual labels:  auditing
Dirstalk
Modern alternative to dirbuster/dirb
Stars: ✭ 210 (+Infinity%)
Mutual labels:  auditing
Ssh Auditor
The best way to scan for weak ssh passwords on your network
Stars: ✭ 516 (+Infinity%)
Mutual labels:  auditing
Information Security Tasks
This repository is created only for infosec professionals whom work day to day basis to equip ourself with uptodate skillset, We can daily contribute daily one hour for day to day tasks and work on problem statements daily, Please contribute by providing problem statements and solutions
Stars: ✭ 108 (+Infinity%)
Mutual labels:  auditing
Filewatcher
A simple auditing utility for macOS
Stars: ✭ 233 (+Infinity%)
Mutual labels:  auditing
Tracker Enabled Dbcontext
Tracker-enabled DbContext offers you to implement full auditing in your database
Stars: ✭ 210 (+Infinity%)
Mutual labels:  auditing
Maplesyrup
Assesses CPU security of embedded devices. #nsacyber
Stars: ✭ 121 (+Infinity%)
Mutual labels:  auditing

Versioning and Auditing with Hibernate Envers

Project

This project is an example project for Versioning and Auditing Database Tables with Hibernate Envers:

Example

We start by inserting a new Customer into the database. We are using the Username Philipp, which is passed in the X-Username header:

> curl -H "X-Username: Philipp" -H "Content-Type: application/json" -X POST -d "{\"firstName\" : \"Philipp\", \"lastName\" : \"Wagner\"}"  http://localhost:8080/customers

{"id":26,"firstName":"Philipp","lastName":"Wagner"}

Now we can query the history resource for the customer. At the moment there is only one revision of type add:

> curl -H "X-Username: Philipp" -X GET http://localhost:8080/history/customer/26

[{"customer":{"id":26,"firstName":"Philipp","lastName":"Wagner"},"revision":37,"type":"add"}]

Now let's change the last name from Wagner to Mustermann:

> curl -H "X-Username: Philipp" -H "Content-Type: application/json" -X POST -d "{\"id\" : 26, \"firstName\" : \"Philipp\", \"lastName\" : \"Mustermann\"}"  http://localhost:8080/customers

{"id":26,"firstName":"Philipp","lastName":"Mustermann"}

And in the history we will now see a new revision 38 with the type mod in the history, which shows the modifications:

> curl -H "X-Username: Philipp" -X GET http://localhost:8080/history/customer/26

[{"customer":{"id":26,"firstName":"Philipp","lastName":"Wagner"},"revision":37,"type":"add"},{"customer":{"id":26,"firstName":"Philipp","lastName":"Mustermann"},"revision":38,"type":"mod"}]

And if we finally delete the Customer:

> curl -H "X-Username: Philipp" -X DELETE http://localhost:8080/customers/26

Then we will see a new revision 42 with the type del in the results:

> curl -H "X-Username: Philipp" -X GET http://localhost:8080/history/customer/26

[{"customer":{"id":26,"firstName":"Philipp","lastName":"Wagner"},"revision":37,"type":"add"},{"customer":{"id":26,"firstName":"Philipp","lastName":"Mustermann"},"revision":38,"type":"mod"},{"customer":{"id":26,"firstName":"Philipp","lastName":"Mustermann"},"revision":42,"type":"del"}]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].