C# ASP.NET Single Sign-On 구현
저는 다음 릴리즈에서 고객을 위해 Single Sign-On을 구현하는 작업을 담당하고 있습니다.흐름은 다음과 같이 존재합니다.
- 사용자는 학교에서 제공한 학생 ID/비밀번호를 사용하여 학교의 주요 포털 시스템에 로그인합니다.
- 사용자가 회사 제품에 대한 링크를 클릭합니다.
- 사용자는 우리 사이트의 로그인 양식을 통해 방금 로그인한 것처럼 대시보드 페이지로 자동 이동됩니다.
따라서 사용자가 당사 사이트에 인증될 수 있는 두 가지 메커니즘이 있습니다.
- 제품의 홈 페이지로 이동하여 로컬 시스템에 저장된 전자 메일/암호를 사용하여 로그인합니다.
- 학생이 이미 학생 ID와 암호를 사용하여 학교의 기본 시스템에 로그인한 경우 Single Sign-On 사용
제품이 Java/Ruby가 아닌 ASP.NET에 구현되어 있는 경우 CAS, JOSSO 또는 기타 타사 Single Sign-On 제품을 사용해야 합니까?아니면 .NET 회사로서 우리에게 더 간단한 .NET 환경에서 사용할 수 있는 것이 있습니까?
.NET 응용 프로그램에 SSO를 구현하기 위한 여러 가지 옵션이 있습니다.
다음 튜토리얼을 온라인으로 확인하십시오.
Single Sign On의 기본 사항, 2012년 7월
http://www.codeproject.com/Articles/429166/Basics-of-Single-Sign-on-SSO
Gary McAllisterOnline: ASP.NET MVC 4, ADFS 2.0 및 타사 STS 통합(IdentityServer2), 2013년 1월
http://garymcallisteronline.blogspot.com/2013/01/aspnet-mvc-4-adfs-20-and-3rd-party-sts.html
첫 번째는 ASP.NET 웹 양식을 사용하고 두 번째는 ASP.NET MVC4를 사용합니다.
요구 사항에 따라 타사 솔루션을 사용할 수 있는 경우 Open(열기)도 고려합니다.ID. DotNetOpenAuth라는 오픈 소스 라이브러리가 있습니다.
자세한 내용은 MSDN 블로그 게시물 OpenAuth/Open 통합을 참조하십시오.범용 공급자를 사용하는 기존 ASP.NET 응용 프로그램의 ID입니다.
이것이 도움이 되길 바랍니다!
파티에 늦었지만 #1 옵션의 경우 IdentityServer3()로 하겠습니다.NET 4.6 이하) 또는 IdentityServer4(Core와 호환).
앱에서 기존 사용자 저장소를 재사용하고 IdentityServer의 사용자 저장소로 연결할 수 있습니다.그런 다음 클라이언트가 ID 서버를 개방형 ID 공급자로 지정해야 합니다.
SSO를 즉시 지원하는 여러 ID 공급자와 일부 타사** 서비스가 있습니다.
타사 서비스의 유일한 문제는 사용자/월당 요금이 부과될 수 있으며, 이는 상당히 비쌀 수 있다는 것입니다.
.NET API와 함께 사용할 수 있는 도구는 다음과 같습니다.
- 인증 0
- 아이덴티티ID 서버별 Express(관리 UI 포함)
- 원심분리기 ID 서비스
- Okta Identity(SAML 2.0)
- 원로그인
구현을 수행하기로 결정한 경우 아래의 프레임워크를 프로그래밍 언어별로 분류하여 사용할 수 있습니다.
C#:
- ID 서버 3(OAuth/Open)ID 프로토콜, OWIN/Katana)
- ID 서버 4(OAuth/Open)ID 프로토콜, ASP.NET Core)
- OAuth 2.0 by Okta
JavaScript:
- passport-openid 연결(node.js)
- oidc-module(노드.js)
- openid-client(node.js)
파이썬:
- 표층의
- Django OIDC 공급자
처음 7000명의 사용자에게 무료로 제공되고 많은 언어를 지원하며 많은 작업이 필요하지 않기 때문에 저는 Auth0을 서비스로 사용할 것입니다.그러나 보다 강력하고 직접적이며 저렴한 솔루션이 필요한 경우 IdentityServer4 및 ASP.NET Core 애플리케이션을 구성하고 필요에 따라 인증 공급자를 추가합니다.
Auth0 및 IdentityServer4 솔루션 모두 OAuth/Open을 사용합니다.WS-Federation 및 SAML 2.0 통합도 지원하는 ID 프로토콜입니다.
[문자:저는 기여자 중 한 명입니다.
우리는 ASP.NET 앱에 대한 SAML 지원을 추가하는 매우 간단한 무료/소스 구성 요소를 구축했습니다. https://github.com/jitbit/AspNetSaml
기본적으로 프로젝트(또는 Nuget을 통해 설치)에 던져 앱과 함께 사용할 수 있는 짧은 C# 파일 하나입니다.
UltimateSAML SSO는 OASIS SAML v1.x 및 v2.0 사양을 준수하는 .NET 툴킷입니다.Single Sign-On 및 Single-Logout SAML에 대한 지원을 ASP.NET, ASP.NET MVC, ASP.NET Core, 데스크톱 및 서비스 애플리케이션에 쉽고 간편하게 추가할 수 있습니다.Lightweight 라이브러리를 사용하면 단일 인증 정보 항목을 사용하여 클라우드 및 인트라넷 웹 사이트에 SSO 액세스를 제공할 수 있습니다.
Detailed UltimateSAML SSO 리뷰는 여기에서 확인할 수 있습니다.
언급URL : https://stackoverflow.com/questions/14309090/c-sharp-asp-net-single-sign-on-implementation
'programing' 카테고리의 다른 글
| 내 단추 텍스트가 롤리팝의 모든 캡스에 강제로 적용되는 이유는 무엇입니까? (0) | 2023.06.14 |
|---|---|
| OpenXml sdk 2.0으로 Excel 문서 작성 (0) | 2023.06.14 |
| 소장품을 정리하는 이상적인 방법 (0) | 2023.06.14 |
| 컬렉션 항목의 값을 변경하는 방법 (0) | 2023.06.14 |
| Python xlwt 결함 있는 엑셀 북 만들기 (0) | 2023.06.14 |