2010-05-08 6 views
0

Je suis en train de développer un site qui affichera des informations confidentielles en lecture seule, avec des données extraites d'un service WCF.asp.net webservice gestion des utilisateurs sur les pages

Ma question: Quelle est la meilleure approche pour la gestion des utilisateurs à travers différentes pages d'information.

Le service renvoie une collection avec des informations sur le client après une connexion sécurisée. Mon idée est d'avoir une classe d'objets Client stockée en session.

Est-il possible d'utiliser des choses comme HttpContext.Current.User.Identity.IsAuthenticated suivi par HttpContext.Current.Session [ « UserId »] sans utiliser une base de données avec la sécurité basée sur les rôles?

Serais-je mieux avec une combinaison de base de données locale, Linq à SQL ou des ensembles de données plutôt que d'utiliser juste des objets de classe pour les données récupérées à partir du service?

grâce, nakori

Répondre

0

Si vous n'avez pas besoin de suivre l'identité de l'utilisateur dans votre application, utilisez simplement la session comme indiqué. Mais le HttpContext.Current.User.Identity.IsAuthenticated et tel repose sur l'utilisateur ayant authentifié avec votre site d'une manière ou d'une autre (ou il reviendra toujours comme faux). Authentifier avec le site Web n'a pas nécessairement besoin d'une base de données cependant. Vous pouvez configurer les utilisateurs directement dans web.config, dans des fichiers xml, ou utiliser AD ou un autre mécanisme d'authentification qui n'utilise pas une base de données traditionnelle. Mais à moins que vous n'ayez besoin d'authentifier les utilisateurs, vous pouvez probablement faire ce que vous voulez en utilisant l'objet de session du serveur et/ou les cookies.

0

Vous n'avez pas besoin d'une base de données locale - mais les meilleures pratiques est d'avoir Authentifier l'utilisateur. Les deux options sont via une base de données et ou via AD s'il s'agit d'un site interne.

Vous pourriez aussi bien créer un nouveau service WCF pour effectuer l'authentification puisque vous avez déjà séparé les fonctionnalités de votre base de données. Cela vous permettra également d'accéder aux bases de données qui ne sont pas locales.

Questions connexes