나는 이것을 여러 번 해보려고 노력했다. this post을 읽은 후, 다시이 작업을 수행하게되었습니다. 그럼 누가 왜 다음이 작동하지 않는지 말해 줄 수 있습니까?PHP에서 사용 권한 구현
<?php
$guest = 1;
$editor = 2;
$admin = 4;
$user = $editor;
if($user == ($editor | $admin)) {
echo "Test";
}
?>
나는 이것을 여러 번 해보려고 노력했다. this post을 읽은 후, 다시이 작업을 수행하게되었습니다. 그럼 누가 왜 다음이 작동하지 않는지 말해 줄 수 있습니까?PHP에서 사용 권한 구현
<?php
$guest = 1;
$editor = 2;
$admin = 4;
$user = $editor;
if($user == ($editor | $admin)) {
echo "Test";
}
?>
은 비트 OR 연산자를 사용 |을 (AND 연산자를 사용하여 비트를 설정() &)를 사용하여 비트를 검사합니다. 코드는 다음과 같아야합니다.
<?php
$guest = 1;
$editor = 2;
$admin = 4;
$user = $editor;
if($user & ($editor | $admin)) {
echo "Test";
}
?>
비트 연산자를 정확히 이해하지 못하면 배워야합니다. 이 방법을 훨씬 잘 이해할 수 있습니다.
는 내가 PHP를 사용하기 때문에 오랜 시간이,하지만 난이 작동한다고 가정합니다 :
<?php
$guest = 1;
$editor = 2;
$admin = 4;
$user = $editor;
if(($user == $editor) || ($user == $admin)) {
echo "Test";
}
?>
(2 | 4)는 6으로 평가되지만 2 == 6은 거짓입니다.
@mk : (2 | 4)이이 CMS에 권한이 할 수있는 최선의 방법처럼 보인다, 6
$guest = 1;
$editor = 2;
$admin = 4;
$user = $editor;
if (user == $editor || $user == $admin) {
echo "Test";
}
최고에 평가합니다. 예? 아니?
어쩌면, 나는 그렇게 해본 적이 없을 것입니다. 내가 한 것은 비트 연산자를 사용하여 데이터베이스의 단일 열에 단일 숫자로 "예 또는 아니요"설정을 저장하는 것입니다.
권한에 따라 데이터베이스에 사용 권한을 저장하려는 경우이 방법이 유용 할 것입니다. 누군가가 어떤 콘텐츠를 게시하고 싶어, 단지 관리자 및 편집자는 그것을보고 싶은 경우에, 당신은 단지, 다음을 확인, 데이터베이스에
($editor | $admin)
의 결과를 저장해야
if ($user & $database_row['permissions']) {
// display content
} else {
// display permissions error
}
그런 짓을
제 의견으로는 이것은 잘 확장되지 않습니다. 나는 실제로 대규모 프로젝트에서이 프로젝트를 사용하려하지 않았지만 CMS는이를 사용하기 위해 복잡한 방법을 사용합니다.
항상 필요한 항목에 따라 다릅니다. 젠드 프레임 워크를 이미 알고 있다면 이전에 만들어진 Zend_Acl/_Auth 제안을 두 번째로 사용합니다. 그러나 모든 프레임 워크에는 비슷한 구성 요소가있을 수 있습니다.
다른 점은 LiveUser입니다. 나는 그것과 함께 일하는 것도 좋아한다.
나는 당신이 거의 모든 것을 할 수 있다고 생각한다. 당신의 접근 방식이 매우 단순 해 보이지만, (모든 사람들이()를 통해) ACL 논리를 중간에 넣을 수 있기 때문에 제한적이다. 너의 어플리케이션. 간단하고 확장 할 수있는 가장 좋은 방법은 아닙니다. ;)
나는 이것을 오류보고에 사용했으며 매우 잘 작동한다.사용자 권한에 관해서는 매우 잘 작동해야합니다 - 데이터베이스의 각 사용자 권한 또는 데이터베이스의 사용자 수준 열에 대해 여러 개의 열을 가질 수 있습니다. 이 옵션을 선택하십시오.