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()


本文标签: 系统 应用 用户 权限