2009-12-28 6 views
0

Je travaille sur un projet de service Web pour fournir des données à un partenaire. Notre application est vraiment légère et n'a qu'une poignée d'API. En raison de la contrainte de temps et des connaissances préexistantes en interne, nous avons utilisé le chemin Spring MVC/Spring Spring pour servir ces API reposantes.fichier basé Spring Security

Quoi qu'il en soit, il s'agit d'un projet B2B où nous attendons seulement que ce partenaire frappe nos serveurs. Donc, il semble un peu trop tuer pour modifier sont très petits schémas db pour ajouter des tables qui ne contiendraient que 1 enregistrement d'accès utilisateur pour ce partenaire ...

Entendu quelqu'un dire bien qu'il soit possible d'utiliser un fichier crypté, ou à au moins un fichier où les informations de mot de passe sont cryptées, au lieu de la base de données pour contenir les informations d'accès des utilisateurs Spring Security ... Est-ce vrai? Si c'est le cas, quelqu'un peut-il me diriger vers des références? Je ne pouvais pas trouver quoi que ce soit pertinent sur Google au premier coup d'œil ... :(

Merci

Répondre

2

http://www.mularien.com/blog/2008/07/07/5-minute-guide-to-spring-security/

Voir la « » sous le fournisseur d'authentification;. Ce qui vous permet d'utiliser des mots de passe cryptés (Si vous ne disposez que d'un seul utilisateur et que vous souhaitez les informations dans un fichier externe, vous pouvez utiliser un espace réservé de configuration de fichier de propriétés pour spécifier simplement $ {user.1.id} $ {user.1.passwordenc} , etc ... un peu hacky, mais cela fonctionnerait

1

C'est très possible, en fait, vous pouvez le faire sans c oding; il est assez simple d'inclure les informations d'identification directement dans le code XML définissant les éléments de sécurité Spring. Vous voyez généralement cela dans les exemples, suivi par des avertissements pour "NE PAS FAIRE CE LIEN!"

Si la sécurité en interne n'est pas une grosse affaire et que vous ne craignez pas que vos développeurs puissent voir votre mot de passe (comme s'ils en avaient besoin, heh!) Et que personne d'autre n'accède à vos fichiers de configuration, alors est une solution rapide et facile à utiliser.

Je vais poster ceci, mais je pars pour aller fouiller dans la documentation de Spring Security pour l'exemple dont je parlais je serai de retour!


Mise à jour

Trever Schick était un peu plus rapide avec l'exemple. J'avais un autre exemple en tête, mais son code montre exactement de quoi je parlais. Vous définissez votre fournisseur de sécurité dans le fichier XML et fournissez votre ID utilisateur/mot de passe. Il ya un certain nombre d'utilitaires disponibles sur le 'net pour vous MD5 ou SHA encoder votre mot de passe pour vous afin que vous puissiez couper et le coller dans le fichier.

0

Vous devez implémenter un nouveau org.springframework.security.core.userdetails.UserDetailsService qui lit les informations de l'utilisateur (nom d'utilisateur, mot de passe, indicateur activé et autorités) à partir d'un fichier. Je ne sais pas si quelqu'un l'a déjà implémenté.

Questions connexes