0

We have different web based products. All the products share same underlying authentication and authorization mechanism. All are on same database server and are ultimately published to same server.

Each project has its own namespace, folder structure and pages. Still due to the fact that authentication and authorization is shared, we use login and other pages across all the projects.

Also to make look and feel uniform across the projects/products we use same master pages.

Currently we have a separate project which contains code, markup and scripts etc. for shared things. We copy the markup and other things to all the projects to build and run them. It is really a hell. We have to include/exclude the files, change namespaces etc. all the times and over that make sure that shared things are at same version in all dependent projects.

What would be the best methodology to handle all this in a way that we don't go to asylum?

We are on ASP.Net 4.0, Visual Studio 2010, Telerik 2013 Q1 release.

TheVillageIdiot
  • 40,053
  • 20
  • 133
  • 188

1 Answers1

1

You have several options to improve your situation. The best option for your will likely depend on more than the information you have provided, however the following may be worth investigation.

  1. Decouple authorisation system. If more than one application is using a single common authorisation code base then you may want to consider decoupling the functionality into a standalone (probably web service based) application. Authorisation through such an architecture is tricky, and easy to get wrong from a security point of view, but is achievable. The authorisation code base will then only need to be maintained in one location which will inevitably reduce deployment and building mishaps.

  2. Extended configuration management. Does your application have any configuration management capability? If not, it should. It may well solve your problems with regards to includes and excludes and namespace chopping, especially when combined with point 3.

  3. Improved version control management. It sounds as if you possibly aren't making the most of your version control system. Although you allude to versions in your question, if you were maintain different branches of a common trunk for your different applications the chopping up of namespaces and includes and excludes would probably be reduced or even not necessary since customisations could co-exist.