내 Yii 응용 프로그램에서 인증 계층 구조 및 비즈니스 규칙을 코드로 작성하고 사용자, 역할 및 권한을 데이터베이스에 저장하려고합니다. 이것은 비즈니스 로직 (코드 여야 함)과 사용해야하는 정보 (데이터 여야 함)를 구분합니다. Yii는 이것을 지원하지 않는 것으로 보입니다.데이터베이스에 권한 부여 규칙이있는 이유는 무엇입니까?
Yii에서는 비즈니스 로직을 파일 (CPhpAuthManager) 또는 데이터베이스 (CdbAuthManager)에 추가 할 수 있습니다. 어느 쪽이든, 비즈니스 로직을 데이터로 간주합니다. Yii는 실제로 비즈니스 논리를 문자열로 검색 한 다음 eval
을 통해 실행합니다.이 작업은 끔찍한 방법입니다.
왜 그럴까요?
원하는 결과를 얻으려면 어떻게해야합니까?
설명해 주시겠습니까? bizRules가 데이터베이스에 있어야하는 이유는 무엇입니까? –
위에서 언급했듯이 ... 당신은 PHP 코드로 로직을 옮길 수 있습니다. 위의 시나리오는 대량 할당 역할 (또는 작업 또는 작업)이있는 유스 케이스를 설명합니다. 'CanEditOwnPost'와 같은 항목을 checkAccess()하면 * 현재 * 게시물이 사용자에게 속하는지 확인해야합니다. '정적'항목을 사용하여 수행 할 수 없습니다. PHP 코드를 검사하고 아이템을 할당하거나 ... bizRule을 데이터베이스에 추가하면이 체크가 수행됩니다. – schmunk
데이터베이스의 코드가 eval 된 것처럼 여전히 이해가되지 않습니다. 이것이 컨트롤러 또는 뭔가에 있다면 더 좋을 것입니다. –