微软今年发布了 MVC3,以前接触过JAVA中的SSH,感觉思想不错,非常喜欢Struts2中的拦截器的概念,因为做程序也没多久所以一直没机会在WebForm中研究下如何实现IOC及AOP,看到了MVC3觉得大爱,感觉用来解决系统中权限控制到按钮非常不错。以前做的几个项目权限都是设置到页面,没有深入到按钮,一是项目中用不到,二是自己比较懒没有去研究。

     用MVC3实现起来非常的简单,因为MVC中所有的请求都是向Controller来取得,不是WebFrom直接访问Aspx页面,可以在每个方法前面打个标签即可,在WebFrom中应该使用Attribute也可以吧?没研究过。

 public class RoleFilter : FilterAttribute, IAuthorizationFilter
    {

        #region IAuthorizationFilter 成员

        /// <summary>
        /// 产生随机数判断是否具有权限访问
        /// </summary>
        /// <param name="filterContext"></param>
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            Random random = new Random();
            int i = random.Next(0, 10);
            if (i > 3)
            {
                filterContext.Result = new RedirectResult(ConfigurationManager.AppSettings["Url"] + "/Error/Index/" + i);
            }
        }

        #endregion

    }

代码比较简单产生个随机数,如果大于3跳转到错误页面~~这个地方可以从数据库中读取权限配置~~

使用起来就更简单了~

[RoleFilter()]
        public ActionResult Del(int id)
        {
            AlbumModels albumModels = GetModels();
            albumModels.DelAlbum(id);
            return View();
        }

这样即可完成权限~是不是非常简单,同时感觉MVC3中后台直接支持Json数据也非常不错,最近刚研究JQuery所以用到Json的地方还是比较多

由于项目人员问题项目没有使用MVC,还是用传统的WebForm来开发不能不说是种遗憾,只有自己闲了慢慢研究下。看到基于MVC3中的DI即IOC也不错,有机会写下试试~

潍坊程序员之家 欢迎潍坊地区软件开发人员 地址:http://www.noicn.com

posted on 2011-03-23 16:39  桔子人  阅读(4252)  评论(1编辑  收藏  举报