开发环境 C# 、 Asp.Net MVC
说明: C# MVC 框架中,每个URL请求对应后台的Action,相当于Java中得controller 里面的方法.
1、 在每个 Action 中添加自定义的权限特性 Attribute 【相当于 Java 中注解 Annotation 】
2、 在程序启动时,将每个 Action 中定义的权限,反射到数据库对应的表中,这样就生成了权限表
3、 然后就可以通过用户、角色来分配权限
4、 用户登录、操作等各种操作,就对应后台某个 Action ,然后就检查该用户的权限列表中是否存在该 Action 权限即可。
另外,他们的框架中,还有一个将数据库的类型转换功能。 例如:
数据库中 Status 取值为: 1,2,3,4
但在页面中需显示:正常、暂停、取消、删除这种东西
以前通常是在需要的地方硬转换、硬对应。
他们做了一个转换的类,通过 xml 或者其他方式,在需要的时候转换成类,放入内存。
今天,我在网上看到 java 有一个 Castor 的开源项目,跟这个很像。
Castor 简介:
castor 是一种将java 对象和XML 自动绑定的开源软件。它可以在java 对象、XML 文本、SQL 数据表以及LDAP 目录之间绑定。
Castor 几乎是JAXB 的替代品。Castor 是ExoLab Group 下面的一个开放源代码的项目,它主要实现的是O/R 映射功能。
它主要API 和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML 。它支持分布式目录事务处理和时间;
提供处理XML 、Directory 、XADirectory 的类库,提供从XML 到JAVA 类的转换机制。
Castor ( http://castor.exolab..org/ )是一种将Java 对象和XML 自动绑定的开源软件。
它可以在Java 对象、XML 文本、SQL 数据表以及LDAP 目录之间绑定。