programing

C# ASP.NET Single Sign-On 구현

jooyons 2023. 6. 14. 21:50
반응형

C# ASP.NET Single Sign-On 구현

저는 다음 릴리즈에서 고객을 위해 Single Sign-On을 구현하는 작업을 담당하고 있습니다.흐름은 다음과 같이 존재합니다.

  1. 사용자는 학교에서 제공한 학생 ID/비밀번호를 사용하여 학교의 주요 포털 시스템에 로그인합니다.
  2. 사용자가 회사 제품에 대한 링크를 클릭합니다.
  3. 사용자는 우리 사이트의 로그인 양식을 통해 방금 로그인한 것처럼 대시보드 페이지로 자동 이동됩니다.

따라서 사용자가 당사 사이트에 인증될 수 있는 두 가지 메커니즘이 있습니다.

  1. 제품의 홈 페이지로 이동하여 로컬 시스템에 저장된 전자 메일/암호를 사용하여 로그인합니다.
  2. 학생이 이미 학생 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와 함께 사용할 수 있는 도구는 다음과 같습니다.

구현을 수행하기로 결정한 경우 아래의 프레임워크를 프로그래밍 언어별로 분류하여 사용할 수 있습니다.

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

반응형