Comment faire de l'Authentification entre un service et d'un téléphone portable?
Je veux faire un windows mobile 6 téléphone portable de l'application. Cette application va vous parler d'un service web que je veux faire.
Je ne sais pas beaucoup sur les services web et la programmation d'application pour les téléphones, donc j'ai eu quelques questions.
- Comment dois-je faire de l'authentification? Comme mon utilisateur télécharge mon application et va à la page de connexion. Ils tapent dans leurs informations d'identification. Ce est envoyé au serveur et authentifié. Maintenant que dois-je le renvoyer? Est-il une sorte de FormsAuthentication?
- Après l'ouverture de la session dois-je continuer à faire des vérifications pour voir si ils sont connectés? Comme dans asp.net mvc, j'ai AuthorizeAttributes sur tous mes tags. De cette façon, on ne peut tout simplement tapez l'url de la méthode d'action et de pouvoir y accéder. Mais puisque c'est une application que je ne suis pas sûr si elles pourraient (dire) passez votre formulaire de connexion (première forme), puis en quelque sorte, sans se connecter, accéder à votre formulaire principal (celui après le formulaire de connexion).
- Faire des services web ont Autoriser les balises asp.net mvc? Depuis que j'ai probablement besoin de quelque chose le long de ces lignes de garantir l'absence de l'un des types dans leur web brower mon webservice chemin et avoir accès à toutes les méthodes que j'ai faits dans.
- Je fais un asp.net mvc de l'application dès maintenant et lorsque l'utilisateur tape leurs informations d'identification sur mon site. Il est envoyé à ce que je devine est clair texte? pour le serveur hachée et alors vérifié. Je sais que peut-être un jour, quand je peux me permettre peut-être à obtenir des ssl afin de la rendre plus sûre.
Donc ma question comment sur avec envoyer les informations d'identification de votre téléphone sur le serveur, il sera de moins en moins sûre de ce que j'ai pour mon site web dès maintenant? De la même façon? Ce qui peut être fait pour le rendre plus sécurisé (SSL).
Grâce
OriginalL'auteur chobo2 | 2009-11-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également utiliser des en-têtes SOAP passer autour d'identification de l'utilisateur ou du jeton d'authentification. Vous pouvez trouver un article sur comment faire cela sur Authentification pour les Services Web (à l'aide des en-têtes SOAP), mais pour résumer, vous créez un en-tête de la classe:
Vous définissez une propriété publique sur le service web
et ajouter des attributs à n'importe quel web méthodes, vous souhaitez être accessibles uniquement aux utilisateurs authentifiés:
Le client code devrait ressembler à:
De cette façon, vous n'avez pas besoin de modifier les signatures des méthodes pour ajouter une authentification.
Vous pouvez également envoyer uniquement le jeton d'authentification au lieu de les informations d'identification. Dans ce cas, vous devez d'abord demander le service web de jeton en transmettant vos informations d'identification (comme en-tête de SAVON ou de web régulièrement les paramètres de la méthode) et de les utiliser plus tard un autre en-tête SOAP avec une seule propriété (Token) pour tous les autres web, les appels de méthode. De cette façon, vous n'avez pas besoin d'utiliser SSL pour les autres appels, tout en restant en sécurité loin de vos signatures de méthode.
Ce qui est un jeton d'authentification? Comment puis-je créer? Qu'advient-il si je voulais ajouter un rôle de vérifier à cette authentification. Comme j'ai 3 rôles et certaines méthodes ne peuvent être utilisées par certains rôles. Je voudrais donc avoir à vérifier aussi.
Le jeton d'authentification est quelque chose comme un sessionId - c'est peut-être une chaîne de caractères contenant le hash d'un utilisateur (comme dans psasik de réponse) ou tout simplement un GUID. Vous serait question d'une certaine sorte de de Connexion ou de s'Authentifier auprès de la méthode web et de l'utiliser pour vérifier si d'autres appels au service web sont fabriqués par le même utilisateur. Sur le côté service vous aurait généralement stocker les jetons générés dans un tableau avec une référence à la table utilisateur et la date de l'émission (les jetons sont valables que pour un certain temps, de la même manière que la web-session arrive à expiration).
Hmm je crois que je comprends, mais est-il un tutoriel à ce sujet?
OriginalL'auteur Michał Drozdowicz
j'ai eu à répondre à cette question à plusieurs reprises dans la connexion à partir de tenue à la main (Windows Mobile), les applications de services web. La solution que j'ai utilisée, c'est de créer un cookie, basé sur un hash du nom de l'utilisateur et de l'adresse IP une fois le processus d'authentification a réussi. par exemple, l'Utilisateur ID et pwd correspond a persisté informations d'identification sur le serveur. Vous passez ensuite ce cookie au client qui sera ensuite transmis à toutes les requêtes de services web pour le reste de la session. par exemple, Le premier paramètre de la méthode est le cookie.
pseudocode:
Bien sûr, vous ne voulez utiliser le protocole SSL afin d'éviter de faire passer votre user id et pwd en texte brut.
OriginalL'auteur Paul Sasik