program story

C # ASP.NET Single Sign-On 구현

inputbox 2020. 11. 12. 08:11
반응형

C # ASP.NET Single Sign-On 구현


저는 다음 릴리스의 일부로 고객을위한 싱글 사인온을 구현하는 임무를 맡고 있습니다. 흐름은 다음과 같이 존재합니다.

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

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

  1. 제품의 홈페이지로 이동하여 로컬 시스템에 저장 한 이메일 / 비밀번호를 사용하여 로그인합니다.
  2. 학생이 이미 학생 ID와 비밀번호로 학교의 기본 시스템에 로그인 한 싱글 사인온을 사용합니다.

우리 제품의 구현이 ASP.NET (Java / Ruby와 반대) 인 경우 CAS, JOSSO 또는 기타 타사 단일 사인온 제품을 사용해야합니까? 아니면 .NET 회사로서 우리에게 더 간단한 .NET 환경에서 사용할 수있는 것이 있습니까?


.NET 애플리케이션에 대한 SSO를 구현하는 여러 옵션이 있습니다.

온라인에서 다음 튜토리얼을 확인하십시오.

Single Sign On의 기본 사항 , 2012 년 7 월

http://www.codeproject.com/Articles/429166/Basics-of-Single-Sign-on-SSO

GaryMcAllisterOnline : 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 Web Forms를 사용하고 두 번째는 ASP.NET MVC4를 사용합니다.

요구 사항에 따라 타사 솔루션을 사용할 수있는 경우 OpenID도 고려하십시오. DotNetOpenAuth 라는 오픈 소스 라이브러리가 있습니다 .

자세한 내용은 MSDN 블로그 게시물 Integrate OpenAuth / OpenID with your existing ASP.NET application using Universal Providers를 참조하십시오 .

도움이 되었기를 바랍니다!


파티에 늦었지만 옵션 # 1의 경우 IdentityServer3 (.NET 4.6 이하) 또는 IdentityServer4 ( Core 와 호환 가능 )를 사용합니다.

앱에서 기존 사용자 저장소를 재사용하고이를 IdentityServer의 사용자 저장소로 연결할 수 있습니다. 그런 다음 클라이언트는 개방형 ID 공급자로 IdentityServer를 가리켜 야합니다.


SSO 지원을 즉시 사용할 수있는 여러 ID 공급자와 타사 ** 제품이 있습니다.

** 타사 제품의 유일한 문제점은 사용자 / 월당 요금이 부과되며 비용이 상당히 많이들 수 있다는 것입니다.

.NET 용 API와 함께 사용할 수있는 도구 중 일부는 다음과 같습니다.

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

  • 씨#

    • IdentityServer3 (OAuth / OpenID 프로토콜, OWIN / Katana )
    • IdentityServer4 (OAuth / OpenID 프로토콜, ASP.NET Core )
    • Okta의 OAuth 2.0
  • 자바 스크립트

    • passport-openidconnect (node.js)
    • oidc-provider (node.js)
    • openid-client (node.js)
  • 파이썬

    • pyoidc
    • Django OIDC 공급자

I would go with IdentityServer4 and ASP.NET Core application, it's easy configurable and you can also add your own authentication provider. It uses OAuth/OpenID protocols which are newer than SAML 2.0 and WS-Federation.


UltimateSAML SSO is an OASIS SAML v1.x and v2.0 specifications compliant .NET toolkit. It offers an elegant and easy way to add support for Single Sign-On and Single-Logout SAML to your ASP.NET, ASP.NET MVC, ASP.NET Core, Desktop, and Service applications. The lightweight library helps you provide SSO access to cloud and intranet websites using a single credentials entry.

Detailed UltimateSAML SSO review can be found here

참고URL : https://stackoverflow.com/questions/14309090/c-sharp-asp-net-single-sign-on-implementation

반응형