News, examples, tips, ideas and plans.
Thoughts around ORM, .NET and SQL databases.

Tuesday, April 05, 2011

On security system, part 2

This is the second part in a series of posts that are dedicated to security system concept in DataObjects.Net. The first part contained common considerations and bits of theory.

In this part I'll tell you about the development approach we chose.

To avoid the situation when a framework is being built according to some pure theoretical ideas and as a result it is hard to use it in real world scenarios we had decided to start from the other side: try implementing an application that seems to be more or less real, put into practice our security concepts and thus develop the security system.

We chose Northwind database model as a playground and slightly modified it to add some complexity in company staff relationships.

Here is the updated organization chart for our Northwind company.

There are 2 sales departments: first is located in Seattle and second is in London. Both of them are managed by a sales manager, each of them has 2 sales representatives and 1 stock manager. Sales representatives report to sales manager, both sales managers report to sales president.

In this application model we defined the following main types of entities to secure:
  • Customer
  • Order
  • Product
  • Employee
There could be much more types to secure but there is no necessity as those four is enough to build more or less authentic model.

Next we have to define which company staff will have access to these secured entities, and which won't. Moreover, there might be several levels of access, for example, read, write and any other more specific ones.

According to the organization chart, we define 4 main roles:
  • Stock manager
  • Sales representative
  • Sales manager
  • Sales president
Each of them has its own set of duties, responsibilities, permissions and limitations. In our model there is the following distribution of all that stuff:
  • All staff has read-only access to employees data.
  • Stock managers manage products. They doesn't have access to customers and orders.
  • Sales representatives have read-only access to products, have full access to customers of their sales department and their own orders. They don't have access to order approval.
  • Sales managers also have full access to customers of the sales department, to their own orders and well as to orders of sales representatives in their sales department. Moreover, sales managers have access to the order approval operation.
  • Sales president has access to all kind of information without limitation, but in read-only mode. In addition, he can manage employees (hire, dismiss, so he also has write access).
Here is the graphical matrix that shows access rights to entity types:


This matrix that demonstrates the additional limitations that must be met as well.


So, here is the deal: we need to provide a flexible and efficient security framework that can be used in domain models like this one with all above-mentioned permissions and limitations. In the next post I'll show you whether we managed to achieve the goal and how we did it.

65 comments:

  1. Cant wait for another post, when will you post it?

    ReplyDelete
  2. Patience, Peter. Will post the next one this week, I hope.

    ReplyDelete
  3. Beautiful! Can't wait too. This will be useful.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Thanks for your interest, guys. It is coming soon.

    Not sure it will be published today, more likely the beginning of the next week.

    ReplyDelete
  6. Your article has proven useful to me. It’s very informative and you are obviously very knowledgeable in this area. You have opened my eyes to varying views on this topic with interesting and solid content. identity access management products

    ReplyDelete
  7. The security administrations utilize the most recent innovation and very gifted staff and security experts who can be trusted for great administrations.Best Security Place reviews

    ReplyDelete
  8. They provide high quality, revolutionary as well as sophisticated safety as well as existence security devices such as fireplace as well as smoke cigarettes devices, movie monitoring, motion sensors, glass-break sensors and residential automation technologies like electronic door hair. You can also take advantage of professional guidance in choosing the very best solution for your house by talking to the actual company’s safety specialists http://www.best-5-home-security-companies.com/protect-america.

    ReplyDelete
  9. This article will discuss through an introduction of security development, how we can feel a little safer about the security we implement in our systems 먹튀검증

    ReplyDelete
  10. Thanks for sharing this post. Kanhasoft is top notch software company offering offshore .net development services in India. We are expert in creating robust and reliable Dot net web application at affordable price. Visit our site to know more about us.

    ReplyDelete
  11. Network Security is the next wave which is bound to sweep the software market. Securing the network is an art by itself www.findmeasecuritycompanyin.com

    ReplyDelete
  12. In that circumstance, the team-building model can be coordinated at setting up generally speaking work assemble objectives, which influence both individual and collective endeavor and conduct, and, at last, the execution results at both the person, and additionally the gathering level. team building

    ReplyDelete
  13.  A portable fish finder is a good choice if you don't fish from the same ship all the time. https://internetprivatsphare.ch

    ReplyDelete
  14. Appreciating the persistence you put into your blog and detailed information you provide. I’ve bookmarked your site and I’m adding your RSS feeds to my Google account. les meilleurs vpn

    ReplyDelete
  15. I have used a lot of juicers in the past and I created this blog to help juice lovers make the right decision in choosing the type of juicer that best fit their needs. There are several good masticating juicers to choose from.  vpn reviews

    ReplyDelete
  16. I am glad to locate your recognized method for composing the post. Presently you make it simple for me to comprehend and actualize the idea. Much obliged to you for the post.  https://privacyonline.fi

    ReplyDelete
  17. I was taking a gander at some of your posts on this site and I consider this site is truly informative! Keep setting up..
    alarms Dublin

    ReplyDelete
  18. Incredible articles and awesome design. Your blog entry merits the greater part of the positive input it"s been getting. thebestvpn

    ReplyDelete
  19. I have read your blog it is very helpful for me. I want to say thanks to you. I have bookmark your site for future updates. https://internetprivatsphare.at

    ReplyDelete
  20. Many homework on the continual hunt along with offstage on the road to winning. Definitely not attached, simple to-fall as a result of wayside; And not investigation, afterward into a path travel toward the black. debestevpn.nl

    ReplyDelete
  21. Criminals are getting more and more creative and ingenious with their modus operandi and becoming much more proficient in disabling security features. Locksmith

    ReplyDelete
  22. A fascinating dialog is value remark. I feel that it is best to compose more on this matter, it may not be an unthinkable theme however generally people are insufficient to chat on such subjects. To the following. Salud. vpnveteran.com

    ReplyDelete
  23. Have you thought about how people get rich? NOT? And you go to BGAOC and try to win and not be defeated. real casino only here The most perfect feeling is to play and get paid for it.

    ReplyDelete
  24. Spy cams used to be big, bulky and impractical to use. Nowadays, they are all about compactness and portability - the smaller they are and easier to conceal, the better. Erica

    ReplyDelete
  25. I definitely loved every little bit of it. I have you bookmarked your site to check out the new stuff you post. vpnveteran.com

    ReplyDelete
  26. Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post. Finde mehr heraus

    ReplyDelete
  27. I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post. Hats off to you! The information that you have provided is very helpful. internet privatsphare

    ReplyDelete
  28. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one.  lemigliorivpn

    ReplyDelete
  29. Its an incredible joy perusing your post.Its brimming with data I am searching for and I want to post a remark that "The substance of your post is marvelous" Great work. deze website

    ReplyDelete
  30. I am really enjoying reading your well written articles. It looks like you spend a lot of effort and time on your blog. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work. security company leek

    ReplyDelete
  31. Great post, and great website. Thanks for the information! Alarms in Parramatta

    ReplyDelete
  32. Hey ,
    Learn a lot from your write up. Very nice understanding with user. I have a little demand from you. Could you please share a post about best kayak fish finder. I have looking for last 2 days but didn't find proper review about it. If you share about it I'm appreciate with you.
    Cheers
    Bikash Roy

    ReplyDelete
  33. I've seen articles on these topics a few times, but I think your writing is the cleanest I've ever seen. I would like to refer to your article on my blog and write it.먹튀검증

    ReplyDelete
  34. Movie-watching websites that are more than movie-watching websites Because we are the number 1 free movie site in Thailand for a long time, including new movies, Thai movies, Western movies, Asian movies, we have all kinds of ways for you Including new series Full of all stories without interstitial ads to keep annoying anymore. One place sa-movie.com.

    Android and IOS operating systems. Watch online movies, Thai movies, Western movies, Asian movies, Cartoon movies, Netflix Movie, Action Movies, Comedy Movies, Crime Movies, Drama Movies, Horror Movies, Adventure Movies, Crash Movies and still have many new movies to watch. You can watch for free anytime, anywhere 24 hours a day at see4k.com.


    GangManga read manga, read manga, read manga online for free, fast loading, clear images in HD quality, all titles, anywhere, anytime, on mobile, tablet, computer. Android and IOS operating systems. Read top comics, action dramas, comedy, adventure, horror and manga. New coming every day to watch many more. Can be read for free anytime anywhere 24 hours a day at gangmanga.com..

    It is no secret that football is among the most popular and widely watched sports. Everybody who likes football tries to find the best platform for free soccer streaming. So, what are the best free sports streaming sites? We are going to answer this question. On this page, you can find a detailed overview of the most widespread soccer streaming websites. Keep on reading and make the best choice for you live24th.me.

    ReplyDelete
  35. First of all, I would like to thank you for writing this article. I'm trying to make an article by citing your article.먹튀신고

    ReplyDelete
  36. I learned a lot from you.토토사이트 I have a hobby similar to yours.

    ReplyDelete
  37. In order to cover 먹튀검증 square feet, at the depth of 6 inches, you will want approximately 2 cubic yards of organic matter.

    ReplyDelete
  38. As I am looking at your writing, 먹튀검증 I regret being unable to do outdoor activities due to Corona 19, and I miss my old daily life. If you also miss the daily life of those days, would you please visit my site once? My site is a site where I post about photos and daily life when I was free.

    ReplyDelete
  39. I’m thinking some of my readers might find a bit of this interesting. Do you mind if I post a clip from this and link back? Thanks 토토사이트

    ReplyDelete
  40. This is one very interesting post. I like the way you write and I will bookmark your blog to my favorites.메이저놀이터

    ReplyDelete
  41. Nice information, valuable and excellent design, as share good stuff with good ideas and concepts.먹튀검증커뮤니티

    ReplyDelete
  42. Hello ! I am the one who writes posts on these topicssex I would like to write an article based on your article. When can I ask for a review?

    ReplyDelete
  43. Look advanced to far added agreeable from you Thanks for finally writing about 토토커뮤니티

    ReplyDelete
  44. It's always coming. This blog is great 먹튀검증 Your post has really helped me a lot

    ReplyDelete
  45. site. Plenty of helpful info here. I’m sending it to several pals ans also sharing in delicious. And certainly, thanks to 토토사이트검증 Thank you guys for sharing

    ReplyDelete
  46. The way you have written your post is so nice. Very professional . Keep writing this amazing post Click the link below 안전놀이터

    ReplyDelete
  47. Wow, superb blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is 먹튀검증

    ReplyDelete
  48. I was unable to oppose remarking. Totally composed!best interiors

    ReplyDelete
  49. What's up, after reading this remarkable piece
    of writing i am also glad to share my know-how here with mates.부산달리기

    ReplyDelete
  50. I want to to thank you for this very good read!! I certainly loved every bit of it. I have you book-marked to look at new stuff you post… ufabet1688

    ReplyDelete
  51. My partner and I stumbled over here coming from a different website and thought I may as well
    check things out. I like what I see so now i'm following
    you. Look forward to exploring your web page again. 출장안마


    ReplyDelete
  52. There must have been many difficulties in providing this information.Bóng88 Nevertheless, thank you for providing such high-quality information.

    ReplyDelete
  53. Always so interesting to visit your site.What a great info, thank you for sharing. this will help me so much in my learning localizacion satelital

    ReplyDelete