RBAC,苦思多日,角色何解?
RBAC中,角色不是很理解,比如,销售经理和济南销售经理,这2个概念很模糊
一个说的是销售经理,没有说明是那个地区的
一个很具体,说的是济南的
我想问,角色是具体的还是模糊的,因为所有区的销售经理都相同的权限,建立销售经理这个角色,就是为了统一给所有地区的销售经理授权,总不能一个地区,建立一个销售经理的角色吧
角色定位?这种情况,如何建立角色权限方案?
知乎没人回答, http://zhi.hu/7dCn
SegmentFault也没人回答, http://segmentfault.com/q/1010000000650304
求救。。。。。。。。。。。。
好多日子了,。。。。。。。。
回复讨论(解决方案)
这跟会员权限不是一样的么,这要看你怎么设计权限了
第一种:销售经理都有一样的权限,不论哪个地方
那就只需要销售经理这个权限组
第二种:销售经理都有一样的权限,但是不同地区又有不一样的权限
销售经理就好比一个基类,济南销售经理继承了销售经理,再派生出其他单独的权限
数据库的设计就好比二级导航一样,济南销售经理的上级就是销售经理
这跟会员权限不是一样的么,这要看你怎么设计权限了
第一种:销售经理都有一样的权限,不论哪个地方
那就只需要销售经理这个权限组
第二种:销售经理都有一样的权限,但是不同地区又有不一样的权限
销售经理就好比一个基类,济南销售经理继承了销售经理,再派生出其他单独的权限
数据库的设计就好比二级导航一样,济南销售经理的上级就是销售经理
。。。。
,,权限组?每个地方的销售经理,功能权限是一样的,当数据权限是不一样的
,,如果都继承了,那得建多少角色啊,加一个分区就建一个角色,。。。
谢谢你的回答,。。呵呵,其实,我想搞清楚,,角色,数据权限,功能权限,如何设计好。
毕竟,新建一个地区销售部门,那么销售经理的功能权限是一样的,就是数据权限不一样,他只对本区的人员有销售经理权限。。
其实,还有一个问题比较严重。。。
一个人管理多个部门,担任不同职务。。。权限组,应该解决不了
下面的方法可行?
部门表 职位表 管理关系表 人员表
id name id name pid id 管理人员的id 部门id id name 职位id
1 销售部门 1 销售经理 1 1 1 1 1 管理员1号 2
2 管理部门 2 管理人员 2 2 1 3
3 采集部门
管理员1号根据职位id找到他是管理部门,那么就去管理关系表查找他所管理的部门,可以看出他管理的是销售部门和采集部门
卧槽,不是所见即所得么?好吧,你复制出去,对其后将就看吧
一个角色就可以了,只不过有个所属区域属性。
角色,指演员扮演的剧中人物,也比喻生活中某种类型的人物和戏曲演员专业分工的类别。
RBAC 的角色(Role)就属于专业分工的类别
某个角色,比如销售经理,就具有其特定的权限
这是抽象的
在现实中,一个角色可以由多人扮演;一个人也可扮演多个角色
这些都与程序无关,程序只认角色而不认人
角色,指演员扮演的剧中人物,也比喻生活中某种类型的人物和戏曲演员专业分工的类别。
RBAC 的角色(Role)就属于专业分工的类别
某个角色,比如销售经理,就具有其特定的权限
这是抽象的
在现实中,一个角色可以由多人扮演;一个人也可扮演多个角色
这些都与程序无关,程序只认角色而不认人
销售经理是抽象的,那济南区销售经理呢?也是抽象的?
系统中,这种类型,没法设计哦,
所有的销售经理,都是一个功能划分,就是管理的区域不通,这种是通过角色解决还是?
一个角色就可以了,只不过有个所属区域属性。
角色加个地区属性??
??那怎么设计用户角色???,,
下面的方法可行?
部门表 职位表 管理关系表 人员表
id name id name pid id 管理人员的id 部门id id name 职位id
1 销售部门 1 销售经理 1 1 1 1 1 管理员1号 2
2 管理部门 2 管理人员 2 2 1 3
3 采集部门
管理员1号根据职位id找到他是管理部门,那么就去管理关系表查找他所管理的部门,可以看出他管理的是销售部门和采集部门
这个不行哦,。。
系统中只有 销售经理,并没有 济南区销售经理
所谓 济南区销售经理 只是注册在 济南区 的某个用户以 销售经理 角色出现
角色是按业务需求设定的,你需要指定某人(某些人)充当某个角色
建立角色“地区经理”,为该角色分配对应地区的动态资源访问权限。然后添加用户的时候同时给“地区经理”和"销售经理"两个角色就可以了。
角色和权限的问题。
【用例】
系统管理员为用户A创建帐户后,为他设置了销售经理角色,并赋予其“可查看某地域数据”的权限,于是,某地域销售经理诞生了。
当然,如果各地域销售经理角色有很多共性,可以设置一个销售组,并赋于销售角色,给其共有的权限。当有其它地域的销售经理加入系统时,只需要加入销售组即可,这样,管理员配置上会更方便一些。
角色和权限的问题。
【用例】
系统管理员为用户A创建帐户后,为他设置了销售经理角色,并赋予其“可查看某地域数据”的权限,于是,某地域销售经理诞生了。
当然,如果各地域销售经理角色有很多共性,可以设置一个销售组,并赋于销售角色,给其共有的权限。当有其它地域的销售经理加入系统时,只需要加入销售组即可,这样,管理员配置上会更方便一些。
很不多,谢谢,你那个里版主,给你看个文章,帮我看看后半部什么意思,看不懂
http://kb.cnblogs.com/page/44144/
lz,听劝,静下心好好想想,权限设计,越简单越好..
角色管理、功能管理、上下级管理的权限能分开最好。意思是即便他只是个底层的销售人员,都可以随时拥有所有功能,管理大量的组织,而不会因为他的角色而无法调整!
lz,听劝,静下心好好想想,权限设计,越简单越好..
角色管理、功能管理、上下级管理的权限能分开最好。意思是即便他只是个底层的销售人员,都可以随时拥有所有功能,管理大量的组织,而不会因为他的角色而无法调整!
哎,你说的真不错,我都有点怀疑自己是不是走火入魔了,想了好多天了,呵呵
lz,听劝,静下心好好想想,权限设计,越简单越好..
角色管理、功能管理、上下级管理的权限能分开最好。意思是即便他只是个底层的销售人员,都可以随时拥有所有功能,管理大量的组织,而不会因为他的角色而无法调整!
绝对正确!
产品投入使用后一定会有各种诡异需求,所以越简单越灵活越好
权限没你想的那么复杂
1、就数据模型来说一个递归树足够了
2、就业务来说只需要实现快速提取权限和分配树中的节点给用户即可
谢谢各位的发言,这个问题吾将深究下

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...
