2015-01-20 3 views
0

사용자가 방을 예약 할 수있는 앱이 있습니다. 사용자가 각 회의실에 다양한 권한을 할당 할 수있는 기능을 추가하고 싶습니다.사용자 정의 권한을 생성하는 스칼라 방법

예 : 사용자는 운영자이며이 건물에 할당되거나 관리자입니다.

조건 목록 (isOperator 등)은 나를 정의하지만 그 결합 방법은 사용자에게 달려 있습니다. 조건이 적용되는 순서는 생각합니다. 그래서 나는 조건을 위해 하나, 결합 자 (&, 등) 하나와 각각의 사용자가 하나의 주문을 저장하고 다음 결합자를 저장하는 조건을 가진 피벗 테이블을 가질 수 있도록 하나씩 3 개의 db 테이블을 생각하고 있습니다. used

내 질문은 스칼라가 무엇인지,이 작업을 수행하는 방법과 기능, 방법이 무엇인가하는 것입니다. 방과 사용자를 말하고 함수를 호출하여 부울을 얻고 싶습니다.

바람직 어떻게 든 각 등 사용자에 대한 각 조건과 방을 확인하고 부울

을 반환, 표준의 스칼라 언어 &와 콤비, 또는 교체하는 방법을 알고, 올바른 순서로 각 조건과 콤비를 받아야 그 기능
+0

이것은 디자인 질문이며 질문에 대한 대답은 그것이 다릅니다. 그것은 당신이 알고있는 함수 프로그래밍 이론의 양과 그 이론이 스칼라에 어떻게 적용되는지에 달려 있습니다. HOF가 무엇인지 아십니까? –

+0

나는 둘 다 초보자라고 말할 것입니다. 그러나 스칼라 코스 세라 과정을 통해 Oderskys 함수 프로그래밍을 완성 할 수 있었던만큼 적어도 둘 다 이해할 수 있어야합니다. 그렇다면 상위 함수를 이해하면 이해할 수 있습니다. – Ir1sh

+1

스칼라에서 우리는 Java에서와 마찬가지로 도메인에서 명사를 모델링합니다. 예를 들어, 예약, 사용자, BusinessRule, 방. 이러한 클래스에는 필요한 동작을 모델링하는 함수 정의가 있습니다. 기능적인 방법으로 코드를 작성하려면 해당 기능에 부작용이 없어야합니다. 위에 설명 된 함수를 Reservation 클래스에 배치하면 해당 클래스와 관련된 비헤이비어가 설명됩니다. 데이터를 모델링하고 함수를 정의하는 방법에 관해서는 잘 수행 할 수있는 많은 방법이 있습니다. 컬렉션 라이브러리를 살펴보십시오. –

답변

1

나는 최근에 같은 것을 탐구 해왔다. 인증 레이어에서 Apache Shiro를 사용할 것입니다. 그러나 권한 부여에 대한 기능적 접근 방식을 취하는 기존 작업을 찾아 보려고했습니다. 나는 하스켈의 몇몇 사례 이외에 많은 행운이 없었다. 그것도 내가 만족하지 못했던 역할 기반의 솔루션을 사용했습니다. 예를 들어 사용자에게 관리 역할이 있음을 확인하고 싶지 않은 경우 사용자에게 조치를 취할 수있는 권한이 있는지 확인하고 싶습니다. 권한을 작성하고 사용자에게 할당하는 역할 만 원합니다. 누군가가 제안을하기를 바랍니다. 어쩌면 이것은 새로운 프로젝트를위한 비옥 한 토양 일 것입니다.

관련 문제