Ai-je tort de vouloir rouler mon propre système Authentifier / Autorisez compte tenu des exigences suivantes?

StackOverflow https://stackoverflow.com/questions/1860150

Question

Dans mon marotte je veux avoir un système utilisateur avec les exigences suivantes:

  • Il doit travailler avec db4o comme modèle persistence
  • Je veux utiliser DI (au moyen de Turbine) pour fournir les dépendances nécessaires à mon modèle utilisateur
  • Il doit être facile à brancher pour asp.net-mvc
  • Il doit être testable sans trop de tracas
  • Il doit aider les utilisateurs anonymes beaucoup comme le fait SO
  • Je veux d'authentification et d'autorisation séparés (la première peut vivre sans la seconde)
  • Il doit être sûr

Je suis conscient que je suis en train de quelques technologies avant fonctionnalités, mais comme il est un projet pour animaux de compagnie et je veux apprendre de nouvelles choses, je pense qu'il est raisonnable de les inclure dans les exigences.

A mi-chemin dans rouler mon propre je suis rendu compte que je souffre probablement un peu href="http://en.wikipedia.org/wiki/Not_Invented_Here" rel="nofollow noreferrer"> NIH.
Comme je n'aime pas vraiment la complexité inutilement le cadre d'utilisateur existant dans asp.net est, il est en fait la plupart du temps que toutes les choses plus compliquées en matière de sécurité qui me donne maintenant quelques doutes. Serait-il défendables pour continuer et rouler moi-même? Sinon, comment feriez-vous pour remplir toutes les conditions ci-dessus avec le cadre à base IPrinciple existant?

Autres conseils

Je pense que vous reconnaissez où les parties fines dans votre considération sont: à savoir que vous en avez inclus comment faire ce que vous faites comme motif à savoir pourquoi vous le faites et le NIH (drôle: Je ne avais jamais vu que avant) question.

Mettre de côté ceux, votre fournisseur est quelque chose que vous pouvez réutiliser potentiellement et il peut simplifier certains de vos futurs efforts. Il devrait également servir à vous familiariser davantage avec la question. Tant que vous comprenez le cadre de ASP.NET afin que vous puissiez travailler avec elle aussi si vous avez besoin (et ne sont pas spécialisés tels que vous ne savez pas ce que vous faites si vous n'utilisez pas votre outil) alors je croyez que vous avez déjà construit votre défense.

Comme mentionné DOK, soyez prudent que vous pas rouler votre propre ici pour éviter une tâche plus grande à portée de main dans quel que soit votre autre fonctionnalité est. Ne laissez pas être une distraction: il devrait être quelque chose que votre demande a vraiment besoin. Si ce n'est pas, alors je penche vers se concentrer sur la mission de base à la place de votre logiciel.

Si vous aller de l'avant et de créer votre propre solution personnalisée, vous aurez une meilleure idée de la façon dont il est difficile et quelles sont les caractéristiques que vous voulez. Cela vous aidera à évaluer les solutions impromptu pour des projets futurs.

OTOH, la fonctionnalité temps de développement des dépenses qui sont déjà aisément les moyens disponibles vous ne dépenserez que le temps de travail sur les fonctionnalités majeures de votre projet. À moins d'authentification et d'autorisation sont une composante majeure de votre projet, vous pourriez envisager d'investir votre temps, et d'élargir vos connaissances, dans un autre domaine.

Moi aussi, je travaille sur un projet utilisant ASP.net MVC animal et db4o et fait la même chose, de sorte que vous êtes au moins pas le seul à aller dans cette voie :). L'une des principales raisons pour moi de commencer à jouer avec db4o comme couche de persistance est que en particulier l'autorisation sur le terrain (à savoir que je suis autorisé à voir le prénom, mais pas le prénom de la personne B Personne A) est bien à réaliser si vous êtes forcé dans les instructions SQL complexes et un modèle de domaine anémique.

Depuis que j'avais besoin d'autorisation complexes qui devaient être persisté (et synchronisé) dans les deux db4o et indices Solr que je travaille sur le déploiement de moi-même, mais seulement parce que je savais à l'avant, il a été l'une des principales caractéristiques de mon animal de compagnie projet que je voulais contrôler 100% par rapport à.

Maintenant, je pourrais toujours utiliser le fournisseur d'appartenances .Net pour l'authentification mais pas (uniquement) pour l'autorisation des objets, mais seulement après que je POC'd mon autorisation a besoin d'utiliser mon propre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top