인증은 엔티티의 신원을 검색한다.

자격증명은 유효성 검사를 통해 신원을 확인하는 프로세스다.

권한 부여는 현재 신원 정보로 요청된 작업을 수행할 수 있는지 여부를 결정하는 프로세스다.

역활 기반 보안은 접근 제어를 위한 비즈니스 또는 엔터프라이즈 응용프로그램에서 사장 일반적으로 사용되는 보안 모델.

Identity 및 principal 개체는 역할 기반의 보안을 구현하기 위하여 .Net Framework에서 제공하는 추상적인 개념.

사용자 정의 시나리오를 위하여, Net. Framework 4.5의 GenericIdentity와 GenericPrincipal 클래스를 사용할 수 있다. 또 WINDOW 인증을 위해서 WindowsIdentity와 WindowsPrincipal 클래스를 사용할 수 있다.

클레임 기반 보안 모델에서 사용자는 응용프로그램에 자격증명을 제공하지 않고 단지 클레임만 제공한다.

역활 기반의 접근 제어와 클레임 기반의 접근 제어의 근본적인 차이점은 역할 기반의 접근 제어를 위해서는 반드시 사용자를 작업을 수행할 수 있는 권한이 있는 역할에 할당해야 한다는 것이고, 반면에 클레임 기반의 접근 제어를 위해서는 사용자가 권한을 부여 받을 수 있도록 응용프로그램이 확인할 수 있는 올바른 값으로 클레임을 제공해야 한다는 것이다. 클레임 기반의 접근 제어가 좀 더 제어하기가 쉽고 유지 관리 또한 쉽다.

클레임은 보안 토큰의 형태로 발급 기관에 의해 응용프로그램에 발급된다. 보안 토큰은 기본적으로 서명디어 있고 보안 전송을 위해 암호화 처리된 클레임의 집합이다.  보안 토큰은 Security Assertion Markup Language(SAML), Simple Web Token(SWT),  JSON Web Token(JWT) 세 가지 유형이 있다.


출처: 프로 ASP.NET 웹 API 보안 책.

Posted by Hoya0415
,

1. WebApiConfig에서 Route 설정하기 

App_Start 에서 WebApiConfig 파일에서 아래의 소스와 같이 만들어주면 된다.

students라는 ApiController가 있는데 routeTemplate을 바꿀 수 있다.

1
2
3
4
5
   config.Routes.MapHttpRoute(
                name: "students",
                routeTemplate: "api/students/{userName}",
                defaults: new { controller = "students", userName = RouteParameter.Optional }
            );
cs


2. Method Route 설정하기

1
2
3
4
5
6
7
public class UserIdCheckController : ApiController
    {
 
        [Route("User/{id}")]
        public int GetIdCheck(string id)
        {
        }
cs

메서드 마다 강제로 주소를 바꿀 수 있다.

Posted by Hoya0415
,

IOC(Inversion of Control)

"제어의 역전, 역제어 라는 뜻으로 프로그래머가 제어권을 갖고 있는게 아니라 이를 관리해주는 컨테이너가 제어를 갖고 관리해준다. 컨테이너의 조건에 따라 수행하는 로직이 바뀌는 것이다. 

<출처 :링크 주소 동영상>

그림에서 Customer가 Validate 이라는 함수를 호출 할 때 Which Dal? 이라는 조건식으로 Sql 혹은 Oracle 클래스가 사용되는데 이건 내 프로그램 순서에 따라서 결정되는게 아닌 Customer가 조건을 결정하는 방식으로 제어가 역전됬다고 볼 수 있다.



<출처 :링크 주소 동영상>


DI(Dependency Injection) 의존성 주입

모듈을 도중에 바꿀 수 있다.

의존성 설계 -> 의존성 설정 -> 의존성 주입.










비디오 출처 : https://www.facebook.com/photo.php?v=690253231015623&set=vb.341019362605680&type=2&theater


 IOCSample.zip



'.NET 개발 > C#' 카테고리의 다른 글

Task<T> Class  (0) 2015.08.10
Task Class 비동기  (0) 2015.08.10
Thread Class  (0) 2015.07.31
.Net Remoting  (0) 2015.07.30
Laze 클래스 란?  (0) 2015.07.21
Posted by Hoya0415
,