Ich verwende spring-boot-dependencies 1.3.5.RELEASE
für meine Anwendung und es läuft auf Java SE 1.8
. Ich benutze Apache Shiro' to map
Benutzer groups in
Rollen to
Benutzer Berechtigungen
whereas I am using
DAO (
Data Access Object `) für den Zugriff auf Daten aus der Datenbank.Auswirkungen der Rollen und Berechtigungen von Apache Shiro in vorhandenen Klassen für Datenzugriffsobjekte
Lassen Sie uns sagen, wir haben eine Entitäten, so dass
Employee
"hat-ein"Department
Department
"hat-ein"Domain
User
"hat-ein"Domain
Entitätsklassen: Mitarbeiter
Klassen@Entity
@Table(name = "EMPLOYEE")
@Data
@EqualsAndHashCode(of = "id", callSuper = false)
public class Employee {
@Id
@GeneratedValue
private int id;
private String name;
@ManyToOne
@JoinColumn(name="department_id")
private Department dept
}
Entity: Abteilung
@Entity
@Table(name="DEPARTMENT")
@Data
@EqualsAndHashCode(of = "id", callSuper = false)
public class Department {
@Id
@GeneratedValue
private int id;
private String name;
@ManyToOne
@JoinColumn(name="domain_id")
private Domain domain
@OneToMany(mappedBy="department")
private Set<Employee> employees;
}
Entitätsklassen: Domain
@Entity
@Table(name="DOMAIN")
@Data
@EqualsAndHashCode(of = "id", callSuper = false)
public class Domain{
@Id
@GeneratedValue
private int id;
private String name;
}
Nun möchte Ich mag User
(ein Login-Benutzer) beschränken nur diejenigen Employees
zu sehen, die mit dem Departments
verbunden sind who Domain
hat einen Zugriff auf die User
. Gibt es eine Möglichkeit, dies zu erreichen, ohne Abfragen in DAO-Klassen zu ändern oder dies mit minimalen Codeänderungen zu tun? Danke.