Cercar en aquest blog

6/8/09

Gestor d' identitats: Autentificació, autorització, pas de credencials entre aplicacions

La meva intenció no és explicar que és un gestor de identitats, però si deixar cla de la necessitat de disposar-ne d'un.
En el sistema a desenvolupar, aquesta feina serà delegada al servidor/s que allotgin el Servei de Active Directory.
Com tots sabem, l' AD és capaç d'enmagatzemar identitats d'usuari, maquinari, grups, unitats organitzatives, dominis, etc.

Per si no ho havia esmentat abans, utilitzarem sistemes microsoft tant en servidors com en clients, dins un domini d'AD. Per tant, els usuaris es validaran quan iniciin una sessió. Però, el usuari validat a la sessió a vegades no és nominal, sino que representa un lloc de treball on l'ordinador es utilitzat per diferents usuaris no concurrents alhora. Per tant, quan iniciien una aplicació del sistema, tots els usuaris s'han de tornar a loginar, per ser nominals, identificats en el programari per poder autoritzar les funcionalitats a les quals tenen accés.
I si no hi ha un sistema centralitzat per autentificar i autoritzar usuaris desde les aplicacions, cada cop que obrin una de les aplicacions que formen part del sistema senzer, els usuaris han de realitzar el procés d'autentificació. I si està centralitzat amb un AD, però les aplicacions no saben pasar-se credencials les unes a les altres, quan es criden entre elles, cal fer el procés d' autentificació. I si la crida entre aplicacions és entre aplicacions de tecnologies diferents, la cosa comença a complicar-se.
Bé, el que porti uns anys en el món de dels sistemes distribuits (en molts sistemes) suposo que ja ha entés el que vull dir.

La ideia, o proposta per solucionar aquest problemes, és dissenyar un sistema SSO (Single Sing-on) amb algunes particularitats pròpies, que un cop hagi validat un usuari, es puguin fer crides entre aplicacions de tecnologies diferents (ASP.Net, WinForms), allotjades en servidors diferents o subdominis diferents.


I això és possible? Si ho és, i ho farem.