앞서 언급했듯이 프로젝트에는 권한 시스템과 별도의 시스템이 있습니다. 현재 접근 방식은 비즈니스 시스템에 요청이 있을 때마다 비즈니스 시스템에서 이를 가로채서 요청한 URL을 전달하는 것입니다. 확인 및 확인 시작을 위한 권한 시스템. 요청하는 사용자에게 이 권한이 있는지 여부.
또는 권한 시스템에서 사용자의 모든 권한을 얻어 비즈니스 시스템에서 확인할 수도 있습니다
어떤 방법을 사용해도 중간에 조작이 가능한 느낌이라 별로 불안한 느낌은 없습니다
분산형 시스템에서 권한 확인을 하는 것이 좋은지 여쭤보고 싶습니다. 감사합니다
포스터의 문제는 권한과 관련이 없으며 순전히 인터페이스 호출의 보안에 관한 것입니다. 일반적인 방법은 다음과 같습니다:
내용은 일반 텍스트로 전송되지만 확인 코드가 추가됩니다. 확인 코드는 양측이 합의한 키로 생성되므로 변조자가 올바른 확인 코드를 생성할 수 없습니다.
합의된 키를 사용하여 전체 전송을 암호화하고 해독합니다.
로그인 후 권한 시스템을 요청하고, 반환된 권한 메뉴 및 기타 정보를 캐시에 넣습니다. (직접 구현하려면 Map이나 Nosql을 사용하고, Nosql 클러스터를 사용하는 것이 좋습니다. 메뉴가 업데이트되면 사용자의 Redis 데이터를 먼저 가져온 다음 최신 정보를 Redis에 동기화하고, Redis는 정보가 없으면 데이터베이스에서 이를 가져온 다음 Java Web Token(타임스탬프, ID 등 포함)을 반환합니다.
Https 및 Spring-Security(액세스 인터페이스 권한, CSRF 방지)는 프로젝트 보안을 위해 사용되며 각 인터페이스는 서명되어야 하며 토큰에는 타임스탬프가 지정되어야 합니다.
이것은 OAuth2.0이 해결한 문제와 약간 비슷합니다