두 도메인 모델 조직 및 TicketQuestion이있는 응용 프로그램이 있습니다. 스프링 보안을 사용하여 개체 인증 하시겠습니까?
TicketController.java 저장이기구 2
에 Organization1 에사용자 1 허가
사용자 2의 허가를 : 인증 된 사용자는이 같은 일부 조직에 그 각 사용자의 허가를 해결하기 위해 조직 속성이 티켓을 만들려면 티켓을 만드는 메소드. 나는이 취약점이 있습니다 : User1은 Organization2 (권한이없는 티켓)와 함께 메소드를 호출 할 수 있습니다. GET 메서드에서 권한 부여 데이터에 최대 절전 모드 필터를 사용하고 있지만 사용자가 원하는 데이터를 보호하고 사용 권한이 없다는 것을 어떻게 알 수 있습니까?
/ticket/save
{
id:-1,
organization:{
id:2,
title:'organization2' //not allowed this organization
}
}
@Entity
@Table(name = "core_organization_structure")
public class OrganizationStructure {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "title", nullable = false)
private String title;
}
@Entity
@Table(name = "core_Ticket")
public class Ticket {
..some prop
@ManyToOne
@JoinColumn(name = "org_id", nullable = false)
private OrganizationStructure org;
}
네, 기본적인 해결책 중 하나입니다. 내가이 문제가있는 10 가지 속성을 가진 도메인 모델이 있다고 상상해보십시오. 각 속성에 대한로드 코드를 작성합니까? 또 다른 문제 : 내가 업데이 트를 추가하고 방법을 삭제하고 아마도이 3 가지 방법, 다른 문제는 100 개 도메인 모델이 체크 코드 100 시간을 작성하는 데 사용되는 경우, 나는 내 서비스의 외부에서 문제를 해결하고 싶습니다. –