框架定义在持久层,除提供ORMapping功能外加点权限控制。ORMapping的代码学习iBatis和ActiveRecord的做法,可使用任意一种,想象中xml应该这样子定义
<sqlmap name="queryTable">
select c1,c2 from table where c1=:name
</sqlmap>
调用时类似:
sqlmap.execute("queryTable",name="xxx")
ActiveRecord的类似:
t=sqlmap.select("table",id="1")
t.c1="xxxx"
t.save()#t.delete()...
权限配置:
<user-group name="group1" default="deny">
<allow>
<sqlmap name="queryTable" when="param.name=='admin' or param.name='manager'" />
<table name="table" when="param.id=1" />
<!-- 其他允许访问的对象 -->
</allow>
<deny>
<!-- 其他禁止访问的对象 -->
</deny>
</user-group>
<user-group name="group2">
<extends name="group1" />
<!-- 继承其他组 -->
</user-group>
<user id="xxxx">
<!-- 与用户组的配置一样 -->
</user>
可以在sqlmap标签上配置权限,如:
<sqlmap default="deny">
<allow>
<group name="group1" /><!-- group1以及继承group1的组拥有权限 -->
<user id="xxxx" />
</allow>
<deny />
....
</sqlmap>
针对用ActiveRecord的还可以对表中数据的权限进行分配。如某个用户可以对某个表的那些行进行更新或删除,或者对某些行的某写列拥有update权限,其他则一律没有,用户组可继承多个用户组等等。。。
用sqlmap的就只能对每条命令进行限制。
对映射对象的的任何操作如果没有权限则抛出异常。
不知道大家以为如何?
分享到:
- 2009-04-24 23:24
- 浏览 1780
- 评论(8)
- 论坛回复 / 浏览 (8 / 2544)
- 查看更多
相关推荐
- **Scrapy爬虫框架**:Scrapy是一个用于Web抓取的强大Python框架,它可以高效地抓取网页数据,并支持多线程爬取。本项目利用Scrapy来开发爬虫逻辑,包括网页请求、响应处理以及数据解析等功能。 - **XPath网页提取...
一款极其轻量的JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力,可无缝集成springboot项目。 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++...
Django 是一款开源的 Python Web 开发框架,由 Adrian Holovaty 和 Simon Willison 在 2005 年基于一个内部项目开发而成。该框架旨在简化 Web 开发过程,帮助开发者高效地构建高质量的 Web 应用。Django 的设计理念...
2.持久层采用mysql数据库,对学生、用户进行数据存储。 3.编程语言用的是Python,django框架, 4.model中,设计用户模型(ID,uname,password),学生模型(id,name,sex,age,grade); 5.control层对浏览器的请求进行...
- WebMagic是一个类似Python的Scrapy框架,无须配置,支持模块化设计,涵盖爬虫生命周期的各个阶段,包括链接提取、页面下载、内容抽取和持久化,同时支持多线程和分布式抓取。 6. **Heritrix**: - Heritrix是一...
【基于Python的学生管理系统】是一个利用Python编程语言设计和开发的应用程序,主要用于高校或教育机构对学生信息进行高效管理和跟踪。这个系统通常包含多个模块,每个模块负责特定的功能,以实现全面的学籍管理、...
本项目是一个基于Python的Django框架构建的旅游攻略论坛交流系统,主要应用于毕业生的毕业设计。这个系统结合了PyCharm开发环境、Django web框架和MySQL数据库,为用户提供了一个功能完善的在线交流平台,用户可以在...
在Python的众多机器学习库中,Cogitare是一个值得关注的新兴框架。它以其现代化的设计、高效的速度和模块化的架构吸引了许多开发者。作为深度学习和机器学习的工具,Cogitare提供了一套全面的组件,使得构建和训练...
在本项目中,“python web网页制作 豆瓣250部高分电影”是一个针对初学者和进阶者设计的实践项目,旨在利用Python Web技术来构建一个展示豆瓣评分前250部高分电影的网站。这个项目可以帮助学习者巩固Python Web基础...
MyBatis是一个支持定制化SQL、存储过程以及高级映射的持久层框架;SpringMVC作为Spring的一个模块,是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,用于构建Web应用程序。 该研究的核心是实现一...
Django是Python Web开发的一个强大框架,遵循MVT(Model-View-Template)设计模式,提供了一套完整的解决方案,包括URL路由、模板引擎、ORM(Object-Relational Mapping)以及数据库操作等。在超市进销存系统的开发...
后端框架采用了base(基础类库层)、bean(后台逻辑层)、dao(数据持久层)、web(view展示层)的四层结构,代码结构清晰,高度模块化设计,使得开发起来高效、实用、可靠,并且便于扩展和维护。
总的来说,"Python基于Django家政服务管理系统设计源码案例"是一个全面展示Django框架应用的实例,涵盖了数据库交互、用户认证、表单处理、URL路由等多个方面,对于想要深入理解和学习Django Web开发的人员来说,是...
16.4.8 设计Python聊天 服务器 303 16.4.9 Python聊天服务器协议 304 16.4.10 Python聊天客户端 309 16.4.11 基于select的单线程 多任务 312 16.5 其他主题 313 16.5.1 协议设计的多种考虑 313 16.5.2 对等架构 314 ...
该压缩包文件“Python基于Django带支付宝支付电商购物商城网站设计源码案例设计.zip”包含了一个使用Python的Django框架开发的电商购物网站的完整源代码,特别整合了支付宝支付功能。这是一个实用的示例项目,对于...
本篇毕业论文主要探讨了如何利用Python语言设计并实现一个聚焦网络爬虫数据采集系统。聚焦网络爬虫是一种针对性更强的爬虫技术,它能够根据预定义的主题或规则,有选择地抓取互联网上的相关网页,从而提高数据采集的...
在本项目中,我们探索如何使用Python的Django框架与MySQL数据库来构建一个完整的网页系统。这个系统将涵盖基础的数据库操作,如增(Create)、删(Delete)、改(Update)和查(Query)。让我们详细了解一下这个过程...
4. **Hibernate**:Hibernate是一个持久层框架,简化了Java对象与数据库之间的映射(ORM)。它允许开发者使用Java对象而不是SQL语句进行数据操作,提高了开发效率并降低了数据库相关的复杂性。 5. **SSH整合**:...