Простите, если это очевидный вопрос.
Мое приложение использует проверку подлинности LDAP, но загружает права доступа пользователей из своей базы данных, что прекрасно работает. Сейчас я пытаюсь создать объекты JPA для управления пользователями и полномочиями через интерфейс REST.
Как реализовать следующую схему с использованием JPA?
create table users(
username varchar(50) not null primary key,
password varchar(50) not null,
enabled boolean not null
);
create table authorities (
username varchar(50) not null,
authority varchar(50) not null,
constraint fk_authorities_users foreign key(username) references users(username)
);
create unique index ix_auth_username on authorities (username, authority)
Это то, что я создал до сих пор:
User.java:
@Entity
@Data
@Table(name = "users", uniqueConstraints = {@UniqueConstraint(columnNames = {"username"})})
public class User {
@Id
@NotNull
@Column(length=50)
private String username;
@NotNull
private String password;
@NotNull
boolean enabled;
}
Authority.java:
@Entity
@Data
@Table(name = "authorities", uniqueConstraints = {@UniqueConstraint(columnNames = {"username"})})
public class Authority {
@Id
@NotNull
@Column(length=50)
private String username;
@NotNull
private String authority;
}
UserRepository:
public interface UserRepository extends CrudRepository<User, Long> { }