2017-02-03 8 views
0

저희 회사는 방금 새로운 응용 프로그램을 위해 Kentico를 구입했습니다. 이 응용 프로그램은 약 2 주 안에 생산에 들어갈 예정이므로이 기능을 사용하여 아직 완전히 새로운 것입니다. 우리가 가지고있는 것은 Kentico에 저장된 컨텐트를 형식화하고 표현하는 세 가지 ASP.NET MVC 응용 프로그램/사이트입니다. 또한 Kentico9/Admin 사이트에 로그인하여 MVC 응용 프로그램에 표시되는 콘텐츠를 관리하는 특정 사용자가 있습니다.Siteminder의 HttpHeader 값을 기반으로 Kentico Admin 사이트에 사용자 로그인

기업의 입장에서 볼 때 Siteminder SSO를 사용할 수도 있습니다. 사용자가 Kentico9/Admin 사이트로 이동하면 회사의 사용자 아이디를 사용하여 회사 Siteminder SSO 양식에 의해 먼저 인증됩니다. 인증이 성공적으로 완료되면 Siteminder는 사용자가 원래 요청한 Kentico9/Admin 사이트로 리다이렉트하며 사용자는 표준 Kentico 로그인 양식을 받게됩니다. 사용자가 이미 다른 세션에서 Siteminder를 통해 로그인 한 경우 Kentico 로그인 양식으로 만 표시됩니다. 그렇지 않으면 처음 로그인하는 경우 사용자는 두 번 로그인해야합니다 (한 번 Siteminder를 통해 다시 Kentico를 통해).

내가 원하는 것은 표준 Kentico 로그인 양식을 무시하고 Siteminder 정보를 사용하여 사용자가 Kentico 관리 사이트에 로그인하도록 허가하는 것입니다. Siteminder는 사용자 이름 및 기타 정보를 HTTP 요청 헤더에 추가합니다. C#을 사용하면 다음을 사용하여 회사 사용자 ID를 검색 할 수 있습니다. System.Web.HttpContext.Current.Request.Headers.Get("SM_USERID").

간단히 말해, 나는 Kentico의 표준 로그인 양식을 덮어 쓰고 HTTP 요청 헤더에서 사용자 ID를 얻고 Kentico에서 사용자 ID를 조회하여 사용자를 인증하는 코드를 작성하려고합니다. 사용자 ID가 없거나 활성화되어 있지 않으면 사용자에게 표준 Kentico 로그인 양식을 제공하십시오. 그렇지 않으면 사용자가 유효하고 활성 인 사용자 인 경우 사용자 레코드를 가져 와서 Kentico에 액세스 할 수있게하십시오.

나는 정보를 얻고 충분한 시간을 가지기 때문에 뭔가를 알아낼 수는 있지만 누군가가 비슷한 일을하고 내 과정을 가속화하기를 바라고 있습니다. 내가 할 수있는 것에 대한 아이디어가 있습니까? Kentico가 Siteminder를 즉시 처리 할 수있는 것처럼 보이지는 않지만 Siteminder와의 긴밀한 통합이 가능할 수도있는 모든 것을 즐겁게 해드릴 것입니다.하지만 확실하지 않습니다.

답변

0

페이지에 배치 할 사용자 정의 웹 파트를 만들고 간단히 Siteminder에서 해당 웹 파트가있는 페이지로 사용자를 리디렉션하고 페이지로드시 해당 헤더 값을 찾을 수있는 것처럼 들릴 수 있습니다. Kentico가 사용자를 찾으면 Kentico에서 해당 사용자를 확인하고 필요에 따라 Kentico에서 사용자를 인증하는 작업을 수행하십시오. 헤더 값이 없거나 Kentico 정보를 찾을 수없는 경우 일반 로그인 페이지로 보내십시오.

또한 글로벌 이벤트 처리기를 만들 수도 있지만 자격 증명을 입력 한 후 누군가가 사이트에서 버튼 등을 클릭해야합니다.