시스템 권한 디자인 의 간단 한 디자인

4010 단어
일 하 는 시간 도 길지 않 지만 항상 자신의 수확 을 쓰 고 싶 어 합 니 다.회사 가 이용 하 는 기술 도 비교적 단순 하 다. asp. net, js 도 별로 사용 할 필요 가 없고 유일 하 게 많이 쓴 것 은 sql 문장 이다.
자, 긴 말 하지 않 겠 습 니 다. 제 가 프로젝트 를 하 는 과정 에서 시스템 권한 에 대한 수확 에 대해 이야기 하기 시 작 했 습 니 다. 하지만 프로젝트 에서 본 것 이 많 습 니 다. 저 는 스스로 다시 하고 싶 습 니 다.그렇게 지도 모른다, 아마, 아마...
많은 문제 와 고려 가 불완전 한 부분 이지 만, 나 는 그래도 써 서 자신의 학습 으로 삼 아야 한다.디자인 아이디어
    (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 를 찾 고 로그 인 자가 속 한 그룹 을 찾 습 니 다. 이 페이지 에 어떤 권한 이 있 는 지 권한 에 따라 페이지 요소 의 숨 김 과 표 시 를 실현 합 니 다. (추가 권한 이 없 으 면 추가 단 추 를 숨 깁 니 다)
          이렇게 하면 로그 인 자의 권한 을 실현 하고 페이지 에 들 어 갈 수 있 는 권한 과 페이지 의 일부 조작 권한 을 실현 합 니 다.

좋은 웹페이지 즐겨찾기