'SmartClient'에 해당되는 글 1건

  1. 2008/07/23 글뻥 스마트클라이언트 보안설정하기.

스마트 클라이언트 (Smart Client)를 배포하고 사용하다보면 Resource에 대한 권한 설정문제로 제대로 실행 안되는 경우가 있다.
특히 오라클 클라이언트와 SQL 클라이언트를 사용한 경우 더욱 그러하다.
그렇게 개발하면 안되겠지만... 아무튼 개발했다면 다음과 같이 사용할 수는 있다.

첫째, ".bat" 파일을 만들어서 DOS창으로 실행하는 방법
이 방법은 여기 포스팅된 글 참조 : http://www.wolfpack.pe.kr/106

둘째, 프로그램내에서 환경설정 등으로 실행하게 하는 방법

-전략-
using System.Security;
using System.Security.Policy;
-중략-
private void SetSecurity(){
            // Machine(Local) 영역을 접근한다.
            const string userPolicyLevel = "Machine";
            PolicyLevel level = null;
            System.Collections.IEnumerator ph = System.Security.SecurityManager.PolicyHierarchy();

            //Machine 레벨을 가져온다.             while (ph.MoveNext())             {                 level = (PolicyLevel)ph.Current;                 if (level.Label == userPolicyLevel)                     break;             }

            // 이미 추가가 되었는지 확인한다.             foreach (CodeGroup group in level.RootCodeGroup.Children)             {                 if (group.Name == "MineService")                 {                     System.Windows.Forms.MessageBox.Show("보안설정이 이미 적용되어 있습니다.", "알림");                     return;                 }

            }             //권한생성             NamedPermissionSet permissionSet = new NamedPermissionSet("FullTrust");             PolicyStatement policyStatement = new PolicyStatement(permissionSet);             //URL멤버쉽 생성             IMembershipCondition membership = new UrlMembershipCondition(@"http://10.20.30.40/*");             //코드그룹에 추가             UnionCodeGroup cg = new UnionCodeGroup(membership, policyStatement);             //이름생성             cg.Name = "MineService";             cg.Description = "내꺼보안설정";             // 그룹추가             level.RootCodeGroup.AddChild(cg);             //적용             System.Security.SecurityManager.SavePolicy(); }

2008/07/23 18:40 2008/07/23 18:40