I know there are many security frameworks and "building" a security framework is a bad idea.
In the recent project I have worked on, I used spring security to secure the web application. In the process, I over rided/tweaked some spring security classes to fit my requirement.
My management now wants me to "takeout" the things I did and distribute it as a re usable code in an internal portal. Now, Is this is a fair thing to ask?
Non è intelligente. Sfortunatamente, non ne so abbastanza su ciò che hai ottimizzato o la profondità o l'esperienza e la comprensione della tua gestione. La mia ipotesi è che la tua direzione stia pensando:
"Wow, il nostro ingegnere ha apportato un notevole miglioramento della sicurezza in una struttura consolidata, che deve valere molto."
e "È già stato scritto, solo un po 'di riconfezionamento e le vendite arriveranno."
I tried to explain them it's just some classes build on spring security and nothing special. But they are insisting on "creating" this framework. Is this a fair requirement?
Non sembra sano. Sembra esserci una netta discrepanza tra la tua visione di ciò che hai fatto e la visione della tua gestione. È probabile che la tua gestione abbia una migliore comprensione della creazione di affari e di prodotti e probabilmente avrai una migliore comprensione delle questioni tecniche. Può darsi che il tuo lavoro abbia un incredibile valore di prodotto che la tua gestione vede e tu no. Tuttavia, sono più incline a credere che il tuo lavoro sia buono ma non significativo come prodotto e la tua gestione si sbagli nel loro entusiasmo.
Lasciami dire così. Quanto sarebbe difficile per un concorrente avere uno sviluppatore delle tue abilità, e per lo sviluppatore fare un lavoro equivalente a quello che hai fatto. Se la risposta è molto difficile, finché ci sono aziende che cosa hai fatto hai un prodotto. Se la risposta non è difficile, trasformare il tuo lavoro in un prodotto è più sul volume delle vendite e sul sovraccarico operativo che sul merito tecnico.
Any ideas on how to start?
Se vai avanti, dedica una quantità di tempo sufficiente ai requisiti e al design. Comprendere cosa il management si aspetta che questo prodotto sia, e ricavare gli obiettivi di progettazione da tali aspettative. Pianificare test, rilascio, manutenzione, aggiornamenti e fine vita. Comunicare continuamente con la tua gestione. Se hai problemi, informa la direzione, a volte possono aiutarti o reindirizzare i tuoi sforzi.
If I am building this, what are the functions I need to provide?
Ciò dipenderà dagli obiettivi di progettazione, che a loro volta dipenderanno dai requisiti di gestione o dal concetto per il prodotto.