Q&A

  • 사용자 권한으로 메뉴 활성화/비활성화


로그인시 DB에서 사용자 권한을 가져와서 각 메뉴의 활성화/비활성화를 하려 합니다.

예를 들면

A, B, C, D 라는 메뉴가 있을때

1' 이라는 권한을 가지면 A, B의 메뉴만 활성화되고 나머지는 비활성화.

2' 라는 권한을 가지면 B, C메뉴만 활성화되는 것입니다.

메뉴가 적을때는 무식하고 코딩을 하면 되겠지만

양이 많을 경우 문제가 되네요.

좋은 방법을 알려주세요

3  COMMENTS
  • Profile
    cell 2000.10.31 01:59
    문제가 해결되었습니다. 유용한 정보를 가르쳐줘서 고맙습니다.

  • Profile
    한하눌 2000.10.30 23:55
    cell wrote:

    >

    > 로그인시 DB에서 사용자 권한을 가져와서 각 메뉴의 활성화/비활성화를 하려 합니다.

    > 예를 들면

    > A, B, C, D 라는 메뉴가 있을때

    > 1' 이라는 권한을 가지면 A, B의 메뉴만 활성화되고 나머지는 비활성화.

    > 2' 라는 권한을 가지면 B, C메뉴만 활성화되는 것입니다.

    > 메뉴가 적을때는 무식하고 코딩을 하면 되겠지만

    > 양이 많을 경우 문제가 되네요.

    > 좋은 방법을 알려주세요



    사용자권한을 그룹으로 줄경우는 메뉴항목의 tag를 이용해서 활성/비활성하면 되고,

    화면 하나 단위로 할경우는 권한테이블에 사용자번호, 화면명의 항목을 갖고

    메뉴항목의 이름을 화면명과 같이 준뒤 활성/비활성 시키면 됩니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    intCnt: integer;

    begin

    // 화면내의 모든 콤포검색

    For intCnt := 0 to Self.ComponentCount-1 do

    begin

    // 해당콤포가 메뉴인지 확인

    if Components[intCnt] is TMenuItem then

    // 메뉴면서 tag가 1이면 붉가능하게 만듬

    if (Components[intCnt] as TMenuItem).Tag = 1 then

    (Components[intCnt] as TMenuItem).Enabled := False;

    end;

    end;





  • Profile
    구창민 2000.10.30 23:48
    cell wrote:

    >

    > 로그인시 DB에서 사용자 권한을 가져와서 각 메뉴의 활성화/비활성화를 하려 합니다.

    > 예를 들면

    > A, B, C, D 라는 메뉴가 있을때

    > 1' 이라는 권한을 가지면 A, B의 메뉴만 활성화되고 나머지는 비활성화.

    > 2' 라는 권한을 가지면 B, C메뉴만 활성화되는 것입니다.

    > 메뉴가 적을때는 무식하고 코딩을 하면 되겠지만

    > 양이 많을 경우 문제가 되네요.

    > 좋은 방법을 알려주세요





    가장 간단한 방법은 계정권한을 검사하여,



    메뉴를 보이기/안보이기 하는 방법이 될거 같네요.



    즐거운 프로그래밍 하시길~

    • 한대필
    • 2000.10.31 00:58
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이선경
      2000.10.31 01:07
      tmain.fieldbyname('d_date').asdatetime:=now ;
    • 한대필
      2000.10.31 01:38
      답은 정말로 감사합니다. 정말로 잘되는 군요!!! 하지만 다시 질문이 있습니다. tmain.fieldbyname('...
    • 한하눌
      2000.10.31 05:04
      한대필 wrote: > > 답은 정말로 감사합니다. 정말로 잘되는 군요!!! > 하지만 다시 질문이 있습니다. ...
    • 질문
    • 2000.10.31 00:24
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이창환
      2000.10.31 03:32
      OnPrint 이벤트를 활용하세요... 찍기전에 해당 라인이 몇라인인지.. 해당 필드의 데이타를 검사해서.. 4...
    • 왕초보
    • 2000.10.30 23:47
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.10.30 23:51
      왕초보 wrote: > 안녕하세요.. > 회원가입 폼을 만들고 있는데.. > 아이디,패스워드.패스워드 확인 을 ...
    • 왕초보
      2000.10.31 00:59
      그런데 질문을 잘못한것 같네요 그러니까 등록 하기전 조사하면 되는줄은 알겟는데.. 제 말은 그걸 어떻...
    • 신재용
      2000.10.31 01:35
      중복여부를 클릭했을때 Flag를 변경해서 등록시에 체크하면 되겠네여~~~ 예를 들면, 로그인화면에서 Flag...
    • 왕초보
      2000.10.31 22:15
      신재용 wrote: > 중복여부를 클릭했을때 Flag를 변경해서 > 등록시에 체크하면 되겠네여~~~ > 예를 들면...
    • 장수정
    • 2000.10.30 23:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.10.30 23:46
      장수정 wrote: > 다른 IP주소의 특정 폴더로 접근하여 파일을 저장하거나 > Load할수 있는 방법 좀 갈켜...
    • cell
    • 2000.10.30 23:29
    • 3 COMMENTS
    • /
    • 0 LIKES
    • cell
      2000.10.31 01:59
      문제가 해결되었습니다. 유용한 정보를 가르쳐줘서 고맙습니다.
    • 한하눌
      2000.10.30 23:55
      cell wrote: > > 로그인시 DB에서 사용자 권한을 가져와서 각 메뉴의 활성화/비활성화를 하려 합니다. ...
    • 구창민
      2000.10.30 23:48
      cell wrote: > > 로그인시 DB에서 사용자 권한을 가져와서 각 메뉴의 활성화/비활성화를 하려 합니다. ...
    • 구창민
      2000.10.30 23:50
      delcho wrote: > 질문한것처럼 다른 어플이 내폼에 살짝 걸쳤을때 어떤 메세지를 주고 싶은데여.. > ...
    • cico
    • 2000.10.30 22:51
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한하눌
      2000.10.30 23:41
      cico wrote: > DBgrid로 받은 한 필드의 값을 스트링그리드에 넣고 싶은데... > > 어찌하면 좋을까요? ...
    • cico
      2000.10.31 00:31
      정말 감사합니다. 정말 하라는 데로 했더니 제가 원하는 그값을 정확이 받았습니다. 뭐라고 감사의 ...
    • 궁금맨
    • 2000.10.30 22:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.10.30 23:55
      궁금맨 wrote: > 에디트박스에 사용자 입력을 받을때 숫자나 문자 둘중 하나로난 입력되게 할려구 하면 어...
    • 반정현
    • 2000.10.30 22:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.10.30 23:56
      반정현 wrote: > > memo1에 찾기 기능을 넣고 싶습니다.. > > 특정단어를 찾아서.. > > 커서...
    • 이진우
      2000.10.31 01:17
      김인수 wrote: > 저 너무 초짜라구 욕하지들 마세염 ㅜ.ㅠ; > > activex폼에 table을 놓고 데이터베이...
    • 김인수
      2000.10.31 01:31
      BDE를 같이 배포하지 않고 서버쪽에 있는 데이터베이스에 연결하는 방법이 알고 시포요.. 제가 질문을 ...
    • sonny
    • 2000.10.30 21:51
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한하눌
      2000.10.30 23:34
      sonny wrote: > > 현재일자기준으로해서 1년전 날짜를 구하는데 > > FormatDateTime('yyyymmdd',sysd...
    • sonny
      2000.10.31 17:41
      한하눌 wrote: > sonny wrote: > > > > 현재일자기준으로해서 1년전 날짜를 구하는데 > > > > Forma...
    • 김태영
    • 2000.10.30 21:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한하눌
      2000.10.31 00:26
      김태영 wrote: > 델파이와 비주얼 베이직을 함께 사용하는 사람인데요. 어떤 회사의 프로그램을 델파이와 ...
    • 윤광희
      2000.10.31 02:09
      이 ODBC문제가 ACCESS인 경우에만 발생하는 것 같습니다. MySQL에서는 발생하지 않네요.
    • s6763
      2000.12.14 21:59
      윤광희 wrote: > 이 ODBC문제가 ACCESS인 경우에만 발생하는 것 같습니다. > MySQL에서는 발생하지 않네...
    • 이상림
    • 2000.10.30 20:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 컴맹
      2000.10.30 21:03
      안녕하세여.. 컴맹입니다.. 소스를 이에러 메시지는 파라메타가 존재 하지 않는다는 메시시입니다. 제가...
    • 김재억
      2000.10.30 20:57
      SQL 구문에서 오류가 났네요. 'Select * from table1 where id_code =: load_id_code' 가 아니구요.....
    • ...
      2000.10.30 23:57
      raeganja wrote: > select a.관리번호, b.규격명, c.소분류명, d.자산위치명, a.베이셀프[1,4] || - || a....