시스템 권한 디자인 의 간단 한 디자인
자, 긴 말 하지 않 겠 습 니 다. 제 가 프로젝트 를 하 는 과정 에서 시스템 권한 에 대한 수확 에 대해 이야기 하기 시 작 했 습 니 다. 하지만 프로젝트 에서 본 것 이 많 습 니 다. 저 는 스스로 다시 하고 싶 습 니 다.그렇게 지도 모른다, 아마, 아마...
많은 문제 와 고려 가 불완전 한 부분 이지 만, 나 는 그래도 써 서 자신의 학습 으로 삼 아야 한다.디자인 아이디어
(1) 사용자 테이블
권한 은 로그 인 자 에 따라 다 르 기 때문에 사용자 표 는 비교적 간단 합 니 다. 간단 한 표 디자인 은 다음 과 같 습 니 다.
[user_no] [nvarchar](20) NOT NULL, // ID,
[user_name] [nvarchar](20) NULL,
[user_password] [nvarchar](20) NULL,
(2) 권한 목록
모든 권한 을 설정 합 니 다. 예 를 들 어 추가, 수정, 조회 등 입 니 다.
[action_id] [nvarchar](20) NULL,
[action_name] [nvarchar](20) NULL
(3) 기능 표
시스템 의 기능 은 데이터베이스 에 존재 하 며 권한 에 따라 일부 기능 을 가 져 오고 보 여 줍 니 다.표 디자인 은 다음 과 같다.
[function_id] [nvarchar](20) NOT NULL,// id
[function_brother_id] [int] NOT NULL,//
[function_name] [nvarchar](50) NULL,
[function_url] [nvarchar](500) NULL,
[function_level] [int] NULL,
[function_sort] [int] NULL,
[function_action] [nvarchar](100) NULL,
[function_parent_id] [nvarchar](20) NULL,
[function_inmenu] [bit] NULL,//
왜 [function brother id] 가 있 습 니까? 한 메뉴 의 한 기능 에 여러 페이지 가 있 을 수 있 습 니 다.예 를 들 어 한 사용자 페이지 는 기능 에서 사용자 정 보 를 부 를 수 있 지만 여러 페이지 와 관련 되 고 모든 페이지 는 권한 이 필요 합 니 다.[function inmenu] 같은 기능 에 있 는 메뉴 에 링크 가 어느 페이지 인지 판단 하 는 것 입 니 다 (하나만 있 을 수 있 습 니 다).
[function action] 은 권한 목록 에 따라 모든 기능 에 권한 을 부여 합 니 다.
(4) 권한 그룹
우리 의 권한 은 그룹 에 따라 구분 된다.한 사용자 가 한 그룹 안에 있 습 니 다. 그 그룹 에는 몇 가지 기능 이 있 습 니까? 그 중에서 모든 기능 은 몇 가지 권한 이 있 습 니까?이것 이 바로 우리 의 시스템 권한 의 핵심 이지 만 비교적 간단 하 다.
[group_id] [nvarchar](20) NOT NULL,
[group_name] [nvarchar](50) NULL,
이 안에 권한 그룹의 기본 정 보 를 저장 합 니 다. 일반적으로 시스템 관리자 와 일반 사용자 가 있 습 니 다.
(5) 사용자 권한 그룹
사용자 가 어느 그룹 에 있 는 지 설정 합 니 다.현재 우리 의 시스템 은 한 사용자 가 여러 그룹 을 가 질 수 있 도록 설계 되 었 지만, 나 는 한 사용자 가 한 그룹 을 설정 하면 ok 이 라 고 생각한다.사용자 가 어느 그룹 에 설정 되 어 있 지 않 으 면 기본 값 은 일반 사용자 입 니 다.
[group_id] [nvarchar](20) NULL,
[user_no] [nvarchar](20) NOT NULL,
(6) 그룹 기능
각 그룹 에 몇 가지 기능 이 있 는 지, 각 기능 에 몇 가지 권한 이 있 는 지 설정 합 니 다.
기능 표 의 권한 은 이곳 과 다 릅 니 다. 한 기능 이 조회 와 삭제 권한 이 있 을 수 있 지만 이 그룹 안의 이 기능 은 조회 권한 만 있 습 니 다.
이 권한 은 기능 내 에서 이 기능 의 모든 권한 에 있어 야 합 니 다.
[group_id] [nvarchar](20) NOT NULL,
[function_id] [nvarchar](20) NOT NULL,
[group_action] [nvarchar](100) NULL,
시계 디자인 은 여기까지 입 니 다. 비교적 간단 한 편 입 니 다.
사용 과정
(1) 로그 인 시
인증 통과 시,
> 사용자 id 에 따라 사용자 권한 표 에서 이 사용자 가 대응 하 는 그룹 을 가 져 옵 니 다.
>그룹 에 대응 하 는 모든 기능 에 따라 기능 표 에서 해당 하 는 메뉴 의 기능 을 찾 을 수 있 습 니 다. 여 기 는 xml 로 기능 목록 을 구성 할 수 있 습 니 다.
이렇게 하면 일부 기능 이 메뉴 에 있 고 권한 이 없 는 것 은 없 으 며 이 기능 에 어떤 권한 이 있 는 지 알 수 있 습 니 다. (예 를 들 어 조회 권한 만 있 거나 추가 권한 이 있 습 니 다)
페이지 에 들 어 갈 때의 처리
그룹 기능 에 이 페이지 기능 이 없 을 때 연결 을 직접 입력 하 더 라 도 접근 이 거 부 됩 니 다.
페이지 에 따라 기능 id 를 찾 고 로그 인 자가 속 한 그룹 을 찾 습 니 다. 이 페이지 에 어떤 권한 이 있 는 지 권한 에 따라 페이지 요소 의 숨 김 과 표 시 를 실현 합 니 다. (추가 권한 이 없 으 면 추가 단 추 를 숨 깁 니 다)
이렇게 하면 로그 인 자의 권한 을 실현 하고 페이지 에 들 어 갈 수 있 는 권한 과 페이지 의 일부 조작 권한 을 실현 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.