ASP.NET 7 대 인증 방식 및 솔 루 션 상세 설명

6282 단어 ASP.NET인증
B/S 시스템 개발 에 서 는'인증'이 자주 필요 하 다.웹 프로그램 은 매우 특수 하기 때문에 전통 적 인 C/S 프로그램 과 달리 기본 적 인 상황 에서(인증 방식 과 권한 제어 수단 을 사용 하지 않 음)프로그램 이 인터넷/랜 에 공 개 된 후에 누구나 웹 프로그램의 자원 을 방문 할 수 있 기 때문에 프로그램의 안전성 을 보장 하기 어렵다.통속 적 으로 말 하면 대부분의 내부 시스템,업무 지원 플랫폼 등에 있어 사용 자 는 반드시 로그 인해 야 한다.그렇지 않 으 면 그 어떠한 페이지 에 도 접근 하고 조작 할 수 없다.한편,인터넷(사이트)의 경우 차이 점도 있다.보통 사이트 의 대부분 페이지 와 정 보 는 대외 적 으로 공개 되 기 때문에 사용자 의 개인 정 보 를 등록 하 는 조작 이나 사이트 의 배경 관리 등 이 있어 야 로그 인 을 제시 해 야 한다.엄격 한 검증 을 하지 않 으 면 결 과 는 매우 심각 할 것 이다.사람들 이 웹 디 렉 터 리 아래 의 페이지 이름 을 알 아 맞 히 면 마음대로 방문 할 수 있다.물론 일반 개발 자 들 은 이런 저 지능 실 수 를 하지 않 는 다.
어떻게'인증'을 실현 합 니까?
N 년 전 제 가 Servlet+JSP 개발 을 처음 접 했 을 때'필터'(Filter)라 는 것 이 있 었 던 것 을 기억 합 니 다.정말 신기 합 니 다.이 신기 한 것 이 생기 면 나 는 더 이상 각 페이지 에 가서'session'이나'쿠키'를 판단 할 필요 가 없다.로그 인 하지 않 은 사용 자 를 팝 업 할 수 있다(수준 이 제한 되 어 있다).물론 전통 적 인 webform 개발 에서 도'BasePage 의 계 륵'을 쓸 수 있 습 니 다.이 유형 에서 판단 을 하고 모든 페이지 에 대응 하 는 유형 이 이'계 륵'을 실현 하도록 할 수 있 습 니 다.예전 에 많은 회사 들 이 이렇게 했 던 것 같 습 니 다.
asp.net 에서 사실은 마이크로소프트 는 완전한 체 제 를 제공 하여'구성원 역할 관리'를 실현 했다.'로그 인 컨트롤','membership','맞 춤 형 데이터베이스'등 이 포함 되 어 있 습 니 다.그러나 대부분의 개발 자 들 은 이런 것 을 사용 하지 않 는 다(예 를 들 어 나 는 마이크로소프트 asp.net 으로 3,4 년 동안'로그 인 컨트롤'이 어떻게 생 겼 는 지 본 적 이 없다).asp.net 인증 에는 주로 서 너 가지 가 있 습 니 다.일부 인증 방식 은 IIS 와 windows 운영 체제 에 의존 하기 때문에 버 전 별로 운영 체제 와 IIS 에 차이 가 있다.필 자 는 windows 7 운영 체 제 를 잠시 사용 하기 때문에 IIS 7.5 를 예 로 들 었 다.
먼저 IIS 를 열 고 오른쪽'인증'을 더 블 클릭 하면 현재 IIS 가 지원 하 는 모든 인증 방식 이 표 시 됩 니 다(제 가 IIS 를 설치 할 때'보안'에서 제 가 모두 선택 한 것 이기 때 문 입 니 다).그림 참조:

크게 다음 과 같은 몇 가지 로 나 뉜 다.
1.이벤트 디 렉 터 리 의 클 라 이언 트 인증서(이것 은 유 료 일 수 있 습 니 다)를 자주 사용 하지 않 고 자세히 말 하지 않 습 니 다.
2.ASP.NET 시 뮬 레이 션(MSDN:ASP.NET 프로그램의 기본 보안 이 아 닌 컨 텍스트 에서 ASP.NET 프로그램 을 실행 하려 면 ASP.NET 시 뮬 레이 션 을 사용 하 십시오.)로봇 이 말 하 는 것 을 나 는 알 아들 을 수 없다.
3.Form 인증:이것 은 많이 사용 되 고 나중에 자세히 말 할 것 입 니 다.
4.windows 인증:windows 운영 체제 에 기반 한 사용자 나 도 메 인 사용자 의 인증.
5.기본 인증:사실은 windows 운영 체제 의 계 정 인증 을 바탕 으로 한다.
6.익명 인증:누구나 접근 할 수 있 고 내부 도 특정한 windows 시스템 의 user 계 정 을 지정 하여 접근 할 수 있 습 니 다.
7.요약 인증:윈도 역 컨트롤 러 를 사용 하여 웹 서버 에 접근 할 내용 을 요청 한 사용자 에 게 인증 합 니 다.
전형 적 인 IIS 6 의 캡 처 를 살 펴 보 자.

주:.NET Passport 는 마이크로소프트 가'단일 로그 인'에 대한 실현 방안 으로 이해 할 수 있 습 니 다.여기 서 자세히 말 하지 않 습 니 다.
우선 IIS 7 에서 기본 인증 테스트:
우선 다른 인증 방식 을 모두 사용 하지 않 고'기본 인증'만 사용 합 니 다.그림 도 있 고 진실 도 있다.

그리고 IE,FireFox,chrome 등 브 라 우 저 를 열 고 localhost 를 눌 러 IIS 의 기본 사 이 트 를 열 기 를 기다린다.브 라 우 저 쪽 에서 알림 상자 정보 가 팝 업 되 고 브 라 우 저 마다 팝 업 상자 의 스타일 과 표현 형식 도 차이 가 있 음 을 발견 할 수 있 습 니 다.(오랫동안 IE 를 사용 하지 않 았 는데 360 이라는 건달 이 형의 첫 페이지 를 바 꾸 었 고'안전 한 인터넷'이 라 고 불 렀 다.이것 은 분명히 조작 행위 이 잖 아.이해 할 수 없다.)

FireFox 중:

팝 업 상자 에 정확 한 windows 계 정과 비밀 번 호 를 입력 하면 요청 한 웹 페이지 를 정상적으로 조회 할 수 있 습 니 다.만약 당신 이 지지 않 거나 잘못 졌 다 면,당신 을 기다 리 는 것 은 401 잘못(401,당신 은 알 고 있 습 니 다)입 니 다.

"사이트 에 SSL 을 사용 하지 않 았 습 니 다.케이블 을 통 해 명문 으로..."로봇 이 하 는 말 은 어색 하 게 들 립 니 다.여기 설명 하 겠 습 니 다.
SSL 인증 서 를 사 는 데 돈 을 쓰 지 않 았 을 때(콘돔 연결 층)간단하게 이해 할 수 있 습 니 다.정상 적 인 http 요청 은 모두 명문 전송 입 니 다.SSL 을 사용 한 후에 http 메 시 지 를 자동 으로 암호 화 할 수 있 습 니 다.누군가가 인터넷 에서 캡 처 해도 복호화 할 수 없습니다.저희 가 가끔 어떤 사 이 트 를 방문 할 때 봤 어 요."https://www.xxx.com"SSL 인증 서 를 기반 으로 할 수 있 습 니 다."'케이블 을 통 해 명문 화 된 방식 으로...'에 대해 말하자면 이 말 은 매우 옳지 않다.우선,케이블 은 일종 의 전송 매체 일 뿐,안에서 전 송 된 것 은 펄스,광신 호 등 일 뿐,네트워크 프로 토 콜 메시지(컴퓨터 네트워크 를 배 운 사람 은 모두 알 고 있다)가 아니다.'명문 형식 으로'라 고 말 하 는 것 도 옳지 않다.사실'기본 인증'에 서 는 사용자 이름과 비밀 번 호 를 Base 64 로 인 코딩 한 것 이다.관심 이 있 는 독 자 는 httpwatch 나 Fiddler 같은 도구 로 http 요청 을 감시 할 수 있다.저 는 공연 을 하지 않 겠 습 니 다.다만 Base 64 인 코딩 은 역 인 코딩 이 쉬 워 명문 과 다 를 바 없다.이렇게 되면'기본 인증'방식 을 발견 하고 불안 전한 요소 가 많다.
IIS 7 에서 windows 인증 테스트:
이전의 기본 인증 과 차이 가 많 지 않 아서 나 는 더 이상 캡 처 시연 을 하지 않 겠 다.사용자 가 정확 한 windows 사용자 이름과 비밀 번 호 를 입력 하면 사 이 트 를 정상적으로 방문 할 수 있다.잘못 입력 하면 되 돌아 오 는 401.1(앞의 기본 인증 은 401.2)입 니 다.특히 앞서 한 asp.net MVP 가 windows 인증 을 사용 할 때 는 사용자 가 IE 브 라 우 저 를 사용 할 때 만 정상적으로 접근 할 수 있다 고 말 한 것 으로 기억 된다.이 경우 http 메시지 전송 형식 이 아니 라 브 라 우 저 에서 운영 체제 내부 와 직접 상호작용 을 하여 사용자 이름과 비밀 번 호 를 검증 하기 때 문 입 니 다.확인 결과 이 말의 후반 구가 옳 고 http 실체 내용 을 감시 하지 못 한 것 으로 밝 혀 졌 다.그러나 IE 브 라 우 저 에 만 국한 되 는 것 이 아니 라 Firefox 에서 도 정상적으로 접근 하고 사용 할 수 있 습 니 다.
익명 인증:
익명 인증 이란 사실'검증 불가'로 이해 할 수 있다.익명 의 사용자 가 자원 에 접근 할 수 있 고 제한 이 없다 는 것 이다.일반적으로 우리 사 이 트 는 익명 으로 검증 하고 windows 인증 을 통합 해 야 합 니 다.익명 인증 도 windows 사용자 그룹 에 있 는 특정한 사용 자 를 통 해 검 증 된 것 임 을 알 수 있 습 니 다.그림 참조:

마지막,Form 인증:
앞에서 말 한 인증 방식 은 모두 asp.net 과 직접적인 관 계 를 가지 지 않 고 IIS 와 운영 체제 등급 의 검증 방식 입 니 다.Form 인증 은 asp.net 지원 이 필요 합 니 다.일반적으로 사이트 의 인증 과 구성원 관 리 는 단순 한 검증 방식 으로 이 루어 지 는 것 이 아니 라 매우 복잡 하기 때문이다.대부분의 인터넷 사이트 의 경우 사용 자 는 일부 페이지 를 방문 할 수 있 지만 일부 페이지 는 로그 인 한 후에 야 방문 하고 조작 할 수 있 으 며 사용자 역할 에 따라 로그 인 할 수 있 고 조작 권한 도 다르다.이것 은 또 여러 방면 의 지식 과 관련 될 뿐만 아니 라 실현 방식 도 여러 가지 가 있다.
편폭 과 시간 이 제한 되 어 있 기 때문에 오늘 은 이만 하 겠 습 니 다.후기 에 저 는 Form 인증 에 관 한 상세 한 내용 과 구성원 관리,권한 관리 에 관 한 글 을 상세 하 게 정리 하 겠 습 니 다.기대 해 주 십시오.
이상 은 본문의 전체 내용 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기