IIS 폼인증에 대해 글을 써봅니다.
폼인증은 여러 사이트에 사용자 정보를 공유할 수 있고, 보안까지 갖춰져 있는 기능입니다.
https://docs.microsoft.com/en-us/previous-versions/aspnet/eb0zx8fc(v=vs.100)
위의 링크는 Web.config 에 폼인증을 어떻게 설정해야하는가에 대한 얘기와 MachineKey에 대한 얘기입니다.
링크에 대해 간략하게 설명 드리면, 폼인증은 쿠키 기반으로 설정이 되며, 쿠키이름, 도메인명, 암호화방식 3가지를 맞춰주면, 사이트마다 폼인증 공유가 가능하다는 얘기입니다. 암호화 방식은 SHA1, DES, AES 3가지 방식을 제공하며 어떠한 방식으로 쓰던지 문제가 되지 않습니다.
아래의 내용은 MachineKey에 관한 내용이며, 테스트에서 우여곡절이 있던 부분입니다.
.Net Framework는 3.5와 4.5간에 많은 차이가 있고, IIS 응용프로그램 풀도, 2.0 과 4.0 이 나눠져서 3.5는 응용프로그램에서 2.0을 쓰고, 4.5부터는 응용프로그램에서 4.0을 사용합니다.
폼인증 방식도 3.5와 4.5간에 암호화 방식이 달라서? 다르다는게 말이 안되지고 버전간의 호환이 되야 정상일 듯 보이나,
3.5와 4.5 사이트간의 폼인증 공유가 잘 되지 않습니다.!!!
제가 테스트한 바로는 4.5에 문제가 있는듯합니다.
.Net Framework 3.5 Site - .Net Framework 3.5 Site (공유됨)
.Net Framework 3.5 Site - .Net Framework 4.5 Site (공유안됨)
.Net Framework 4.5 Site - .Net Framework 4.5 Site (공유안됨)
그래서 아래와 같이 CompatibilityMode 를 3가지로 설정할 수 있습니다.
아래의 링크는 공식 홈페이지에 설정부분입니다.
그리고 아래의 링크는 공식 홈페이지는 아니지만, stackoverflow에 올라와 있는 내용입니다. 이 중 캡쳐한 내용입니다.
https://stackoverflow.com/questions/2453677/single-sign-on-with-forms-authentication
'개발 > C#' 카테고리의 다른 글
C# Url Combine (0) | 2022.06.10 |
---|---|
IIS Module 추가로 Body Log 추가하기 (0) | 2022.05.03 |
IIS ASP.net 폼인증 컴퓨터 키(machineKey) 생성 (0) | 2022.02.16 |
C# parse xml pretty string (0) | 2022.01.20 |
C# string to int 확장형 (0) | 2022.01.11 |
댓글