你好,
根据你的要求,我建议你可以使用asp.net中的identity来进行登陆验证和角色管理。
具体你可以参照如下链接:
http://oursg.com/Article/Details/3D19F8996B6237035A8597102D4B0C7A
在这个链接里面,详细介绍了ASP.NET 安全性,身份验证,角色管理,成员资格等等,并且有MSDN 的官方文章链接。
我建议你可以熟悉里面的内容。
其次每个部门都有自己的页面很好实现,我建议你使用FormAuthentication在页面的pageload 事件中进行验证,是不是属于这个部门。
如果是则可以访问这个页面。
至于数据库方面。
Identity会通过EF code-first自己建表。
所以你只需要建设文件存储的表,如果你们公司部门是确定的话, 我建议你每个部门建一张表。
这个检索起来速度快一点。
数据架构的话看你自己的需求。
一般是ID,路径,提交人,提交事件,是否显示等等