2011-05-19 5 views
3

Je travaille avec Azure ACS et l'incorpore dans une stratégie SSO pour mon site Web .NET 4.0. Je vois sur la page Groupes de règles qu'un certain nombre de revendications différentes peuvent être stockées et transmises au RP (par exemple, pays, adresse de rue, téléphone, etc.). Il semble que vous puissiez également renvoyer tout type de réclamation que vous souhaitez créer. Cela m'a fait réfléchir à de nombreuses questions relatives au stockage des informations pour les utilisateurs:Azure ACS et stocker des informations pour les utilisateurs sur elle vs local?

  • Est-il sensé de stocker des informations utilisateur (autres que l'identificateur de nom) dans ACS par rapport aux tables de base de données locales?
  • Il semblait que vous pouviez créer des groupes de règles illimités et des règles en leur sein. Est-ce exact?
  • Je traiterais avec différentes entreprises et utilisateurs au sein de l'entreprise. Est-ce que créer un groupe de règles pour chaque entreprise et ensuite créer des règles pour chaque utilisateur serait un choix judicieux?
  • Il semble que l'API est assez robuste et permettrait que cela soit fait automatiquement à la suite d'une page d'inscription, etc. Correct ou incorrect? Est-il possible et recommandé d'exécuter une requête contre ACS pour renvoyer des informations sur un utilisateur (par exemple, demander son adresse e-mail lorsqu'il est hors ligne pour lui envoyer un message à propos de quelque chose)
  • Pourriez-vous recevoir des informations en masse? à des fins de reporting hors ACS?

Répondre

5

La réponse courte est généralement "oui", mais bien sûr, il y a une réponse plus longue :-).

Est-il logique de stocker des informations utilisateur (autres que l'identificateur de nom) dans ACS par rapport aux tables de base de données locales? Oui, cela pourrait avoir du sens. Mais à des fins d'optimisation, vous pouvez conserver une copie de certaines informations sur le profil de l'utilisateur à un autre endroit (local à l'application). Les informations sur les règles ACS constituent la «fiche maîtresse». Vous devez mettre à jour les valeurs dans votre magasin local chaque fois que vous recevez un jeton et vérifiez s'il y a eu des modifications ou non.

Il semblait que vous pouviez créer des groupes de règles illimités et des règles à l'intérieur de ceux-ci. Est-ce exact? Non, "illimité" est un grand nombre. Le nombre d'espaces de noms, de parties utilisatrices et de règles est limité. Vérifiez la documentation. ACS prend également en charge les transformations en "cascade", qui peuvent vous aider à réduire le nombre de règles.

Par exemple:

La 2ème règle sera déclenchée chaque fois qu'un revendication de type "Société", la valeur "Contoso" est émise.

alors vous pouvez avoir:

La demande "langue" sera automatiquement ajouté.

Je traiterais avec différentes entreprises et utilisateurs au sein de l'entreprise.Est-ce que créer un groupe de règles pour chaque entreprise et ensuite créer des règles pour chaque utilisateur serait un choix judicieux? Dans un environnement à plusieurs locataires, il peut être préférable d'avoir une partie utilisatrice par locataire. C'est ce que nous faisons dans l'exemple 7 (Federation With Multiple Partners) disponible ici: http://claimsid.codeplex.com

Il semble que l'API soit assez robuste et permette de le faire automatiquement à la suite d'une page d'inscription, etc. Correct ou incorrect? Oui

Serait-il possible et recommandé d'exécuter une requête contre ACS pour renvoyer des informations de retour sur un utilisateur (par exemple requête pour leur adresse e-mail quand ils sont hors ligne pour envoyer un message sur quelque chose) Il est possible. Cependant, il n'y a pas de concept d '"utilisateur" dans ACS. Donc, vous auriez à décoder cela des règles. Vous ne pouvez pas avoir un appel comme "GetUserprofile (utilisateur de chaîne)"

Pourriez-vous recevoir des informations en masse à des fins de reporting à partir d'ACS? L'API prend en charge les informations de masse, mais pour les signaler, il peut être préférable d'avoir des informations répliquées sur votre propre base de données.

Une dernière pensée: règles ACS aujourd'hui moteur est très simple et seulement des transformations simples (plus en cascade), mais rien par rapport à ce que ADFS peut faire aujourd'hui, où les règles peuvent être très complexes (par exemple db lookups, etc.)

+0

Merci pour la bonne réponse! Une question que j'ai est sur l'environnement multi-locataires. J'aurais plusieurs utilisateurs de différentes sociétés en cliquant sur la même URL pour accéder à mon SaaS. J'avais l'impression qu'une partie utilisatrice était synonyme d'URL. En regardant l'exemple 7, j'imagine que le routage est activé dans mon application afin que les utilisateurs puissent tous taper http://www.robsite.com/{their company name} et que cela se traduise par ACS de cette façon? – Rob

Questions connexes