CACM 구현 public class CACM { public CACM(File file)

Slides:



Advertisements
Similar presentations
Transaction ㅇ Transaction 을 직접 구현하려면, 까다로운 설계와 복잡한 코드를 필요로 하고 수정에 공수가 많이 들게 된다. ㅇ 스프링에서 제공하는 Transaction Manager 를 사용하여 쉽고 간편하게 어려운 트랜잭션을 해결할 수 있다. xml.
Advertisements

멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
어서와 Java는 처음이지! 제3장선택과 반복.
보안등 고장관리 자동화시스템 시범운영 제안서 인천광역시 서구 민관협력개발 032) )
고전에서 미래를 읽다(5) 영양괘각(羚羊掛角) 영양이 훌쩍 뛰어 나뭇가지에 뿔을 걸다
11장. 프로토콜 핸들러 AI &HC I LAB 김 성 현.
14. 위피 게임: 가위바위보 게임 초기에 점수=0 처음 이기면 10 점 그 다음부터 이기면 점수=현재 점수*2 지면
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
객체지향 프로그래밍.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
7장 배열 ②.
Programming for the java Virtual machine
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
제7장 제어구조 I – 식과 문장.
명품 JAVA Programming.
메소드 호출과 힙 원격 메소드 호출 서블릿 엔터프라이즈 자바 빈즈
Power Java 제4장 자바 프로그래밍 기초.
[INA470] Java Programming Youn-Hee Han
10장 객체-지향 프로그래밍 II ©창병모.
8장 자바 입출력.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
7 스택.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
자바 5.0 프로그래밍.
프로그래밍 언어론 제 9 장 객체 지향 개념 객체 지향 방법론 객체 모델링 객체 지향 언어 C++ 객체 지향 언어 CLOS
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
AOP 개념 및 Spring의 AOP 기능.
명품 Java Programming.
최용술 장 Thread 최용술
Chap07 예외 처리 7.1 예외의 개요 7.2 예외 관련 클래스 7.3 예외 처리.
10장 다중 스레드 10.1 스레드 개요 10.2 Thread 클래스 10.3 스레드 생성
Hadoop 김연왕
윤 홍 란 4 장 클래스 작성 윤 홍 란
2010학년도 2학기 객체지향의 이해.
DataScience Lab. 박사과정 김희찬 (월)
인터페이스(Interfaces) 강원대학교.
주소록 프로그램.
6장 객체-지향 설계 ①.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
12 검색.
IT CookBook, 자바로 배우는 쉬운 자료구조
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
6장 객체-지향 설계 ①.
Lesson 4. 수식과 연산자.
DataScience Lab. 박사과정 김희찬 (월)
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
WAP Java Seminar
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
Chap10 다중 스레드 Section 1 : 스레드 개요 Section 2 : Thread 클래스와 스레드 생명주기
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ①.
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
JA A V W. 04.
[ 단원 06 ] 상속과 다형성.
제 4 장 클래스 작성 Lab 4- 2.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
C# 10장. 참조형.
Java 5장. 객체지향 개념 public class SumTest {
11장 다형성과 추상 클래스, 인터페이스 Section 1 객체의 형 변환 Section 2 연산자 Section 3 다형성
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
임베디드 프로그래밍 Lecture #
Policy저장 테이블 – 구현 방법 1 Key Condition …
Presentation transcript:

CACM 구현 public class CACM { public CACM(File file) // access contrlo policy를 해시테이블에 저장 } public void checkMethodAccess(String Method, String Mode) // 해시테이블 condition검사 // 만족하는 condition있으면 통과 // 만족하는 condition없으면 exception발생 public void checkRelationAccess(Entity entity, Relationship relation, ContextItem item , String Mode)

CACM을 이용한 Application의 예 import dk.pervasive.jcaf.EntityListener; import dk.pervasive.jcaf.util.AbstractContextClient; import dk.pervasive.jcaf.CACM; public class UbisoftClient extends AbstractContextClient implements EntityListener { public UbisoftClient(String service_uri) { super(service_uri); } public static void main(String[] args) UbisoftClient tester = new UbisoftClient(args[0]); CACM manager = new CACM(args[1]); tester.test(); private void test() { … if(manager.checkRelationAccess(Pda2, Hosts, Pda1, “MODIFY”)) getContextService().addContextItem(Pda2.getId(), Hosts, Pda1);

구현 과정(1) CACM의 constructor구현 각 key에 대한 condition정보 추출하여 저장 Policy파일의 정보를 분석하여 해시 테이블에 저장 Policy의 각 문장을 subject, object, condition, mode로 각각 저장 subject, object으로 해시 테이블의 key를 구성 Ex) ($Pda_2,$Pda_2!Hosts($Pda_1),$Pda_2!Friends($Pda_1),MODIFY) -> key : <$Pda_2, $Pda_2, Hosts, $Pda_1> 각 key에 대한 condition정보 추출하여 저장

Policy저장 테이블 Condition Key <$Pda, Printer, print> … Entity ($Pda,$Room/$Printer.print,$Pda!Owns($Room),CALL) ($Pda,$Lounge/$Printer.print,$Pda!Employed(Building:ubisoft),CALL) Key Condition <$Pda, Printer, print> … Entity Relationship ContextItem $Pda Owns $Room $Printer IsIn $Pda Employed ubisoft $Printer IsIn $Lounge

구현 과정(2) public void checkMethodAccess(String Method, String Mode)구현 <subject, method>로 key생성 해시테이블에서 key 검색하여 condition추출 현재의 context와 condition비교하여 일치하는 condition이 있으면 true 리턴 없으면 exception발생시키고 false 리턴

구현 과정(3) public void checkRelationAccess(Entity entity, Relationship relation, ContextItem item, String Mode)구현 <subject, entity, relation, item, mode>로 key생성 해시테이블에서 key 검색하여 condition추출 현재의 context와 condition비교하여 일치하는 condition이 있으면 true 리턴 없으면 exception발생시키고 false 리턴