admin 管理员组文章数量: 887021
2023年12月17日发(作者:asp源码在线聊天)
MVC中权限管理论文: MVC中权限管理系统的设计与实现
摘要:目前,基于网络的应用系统普及性不断提高,如何有效地防止非法用户进入系统,提高系统的安全、可靠性成为主要问题。本文介绍了基于 MVC 的网络应用系统中权限管理的可行性,同时还介绍了系统采用的目前较新面向切向(AOP)技术来实现权限管理。
关键字:网络 系统安全 可靠性 AOP 权限管理
中图分类号:TP311.10 文献标识码:A文章编号:1007-9416(2011)05-0181-02
引言
随着计算机和网络技术的不断发展与普及,基于网络的应用系统得到了广泛的使用,各种的使用人员通过网络在自己的计算机终端上使用应用系统。基于网络的各种应用系统的安全性成了计算机领域的一个研究重点。在各种网络安全技术的保护下系统可以抵御来自外界的大多数威胁。
MVC 简介
MVC是微软官方提供的开源MVC框架。它是个将一个应用的实现分成三个组件角色的框架技术:模型,视图和控制器。
在基于MVC的应用里,Model(模型)是负责保持状态的应用组件。这个状态通常都持久于数据库之中(譬如,我们也许会有一个Product(产品)类用来代表SQL中的Products数据表中的订单数据)。
在基于MVC的应用里,View(视图)是负责显示用户界面的组件。这个UI通常是使用模型数据来创建的(譬如,我们也许会生成一个Product"编辑"视图,根据当前Product对象的状态,显示文本框,下拉框和复选框等)。
在基于MVC的应用里,Controller(控制器)是处理用户交互,操作模型和最终选择用哪个视图来显示UI的组件。在MVC应用中,视图只是用来显示信息而已,是控制器来处理和回应用户的输入和交互的。
总之,使用MVC方法的一个好处是,它有助于促进应用中模型,视图,控制器间的关注的清晰分离。保持关注的清晰分离使得对应用的测试极其容易,因为不同应用组件间的契约的定义和表达是更明确的。
角色权限设计
基于角色的权限设计需要添加用户表、角色表、角色权限表等一系列相关数据表,其数据表的结构设计如下:
用户权限验证
当用户通过URL链接到目标地址时,如何验证用户是
否是注册用户,操作行为是否符合自身拥有的权限呢?本系统采用了 MVC中的拦截器技术,也叫AOP(面向切面编程)。 MVC 中提供了三种拦截器:Action拦截器、Result拦截器和Exception拦截器。
采用拦截器有以下三个优点:
1. 解决了部分代码重复的问题。很多日志处理代码和异常处理代码是很相似的,这样就导致了各个Action中存在大量重复代码。
2. 职责的明确化。 Controller仅仅是控制器,只负责表示逻辑,而不应该被一大堆日志处理代码和atch块包围。我们要的Action,应该是干净的、工整的、仅包含表示逻辑的Action。
3. 代码更加优雅。
本系统使用了Action拦截器,主要是通过重写AuthorizeAttribute来实现自定义的用户权限验证,其具体实现代码如下:
public class UserAuthorizeAttribute : ActionFilterAttribute
{
IMembershipProvider Membership;
string path;
public UserAuthorizeAttribute()
版权声明:本文标题:ASP.NETMVC中权限管理论文:ASP.NETMVC中权限管理系统的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702792421h431118.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论