ASP.NET MVC+EF框架+EasyUI实现权限管理(附源码)

 前言:时间很快,已经快到春节的时间了,这段时间由于生病,博客基本没更新,所以今天写一下我们做的一个项目吧,是对权限的基本操作的操作,代码也就不怎么说了,直接上传源码和图片展示,下面我们直接进入主题介绍这个项目和一些技术点:

1.项目所用到的技术

  (1)前台展示:ASP.NET MVC 3.0+Jquery EasyUI+Jquery

  (2)开发环境:VS2012

  (3)数据库:SQL Server 2012

  (4)代码管理:SVN

  (5)用到的技术:ASP.NET MVC,EF框架,Jquery EasyUI,Log4Net,VSS,微软T4模版

  (6)数据库脚本在本项目的APP_Data文件夹下面,可以直接执行EF框架自动生成。

2.系统后台通用权限管理

  (1) 什么是权限?在电子商务等信息系统中,任何一个操作都要进行权限的校验,如果有访问的权限则让用户继续访问,如果没有则终止这条请求,一句话,权限就是为了分类明确,安全性考虑。

  (2)权限管理:一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。

  (3)基于用户&动作的权限管理

  (4)基于角色&动作的权限管理

  (5)基于分组,角色,动作,用户权限管理。

3.创建权限的业务模型

  (1) 使用EF框架的EDMX设计器来设计数据库的实现。

  (2)注意事项:

       1)使用ModelFirst的方式来设计数据库的完成

       2)主键如果使用Guid类型则必须去掉自动增长

       3)实体所有的属性必须设置备注

       4)实体的字符串类型必须设置字符串的长度

       5)命名规范必须符合要求

       6)模型设计讨论和评审工作

  (3)权限EF框架模型设置如图所示:

  

4.下面演示项目的功能

  (1) 首先使用用户名密码都是admin登录,这是在代码中做得一个没有验证权限的管理,也就是当你使用此用户名密码登录进去的话所有的权限都是可以访问的。

  (2)登录页面:如图所示:

    

  (3)展示Admin登录的结果,如图所示

    

  (4)然后我们注册一个用户,如图所示

    

  (5)然后我们使用刚才的用户登录系统,会出现访问为空的现象,如图所示:

    

  (6)我们可以给用户设置权限和角色,在上面有选择设置用户角色和设置用户特殊权限的信息设置,我们给hjl用户设置了超级管理员的角色,如图所示:

     

  (7)我们在使用hjl登录,如图所示:      

  (8)为什么权限管理里面没有数据呢,那是因为此用户没有改权限查看这个,如果想要显示的话还要进行权限的设置,这里我就不设置了。

5.展示整个网站布局效果图:

  

6.源码下载

        百度云盘完整源码下载

  Kencery返回本系列开篇

  

作者:韩迎龙(Kencery)
出处:http://www.cnblogs.com/hanyinglong       GitHub开源项目:https://github.com/kencery
MVC/.NET群:159227188
本页版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利

分类: asp.net mvc
标签: easyUI, MVC, ef框架
好文要顶 关注我 收藏该文联系我
39
1
(请您对文章做出评价)
« 上一篇:Entity Framework快速入门笔记第四篇—ModelFirst
» 下一篇:面试集萃
posted on 2012-12-13 19:11 Kencery 阅读(27692) 评论(114) 编辑 收藏


评论:
#101楼[楼主] 2015-04-14 16:33 | Kencery  
@Jian丶Yu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/// <summary>
/// 执行SQL对象返回受影响的行数
/// </summary>
/// <param name="strSql">SQL语句</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
public int ExcuteSql(string strSql, object[] parameters)
{
return EFContextFactory.GetCurrentDbContext().Database.ExecuteSqlCommand(strSql, parameters);
}
 
/// <summary>
/// 执行SQL对象,返回查询到的实体集合
/// </summary>
/// <typeparam name="T">返回的实体集合</typeparam>
/// <param name="strSql">SQL语句</param>
/// <param name="parameters">传递的参数</param>
/// <returns></returns>
public IQueryable<T> ExecuteSql<T>(string strSql, object[] parameters)
{
return
EFContextFactory.GetCurrentDbContext().Database.SqlQuery<T>(strSql, parameters).AsQueryable();
}
 
/// <summary>
/// 执行SQL对象,返回查询到的实体集合
/// </summary>
/// <typeparam name="T">返回的实体集合</typeparam>
/// <param name="strSql">SQL语句</param>
/// <returns></returns>
public IQueryable<T> ExecuteSql<T>(string strSql)
{
return
EFContextFactory.GetCurrentDbContext().Database.SqlQuery<T>(strSql).AsQueryable();
}


上面就是封装的写SQL语句的方法,可以直接封装到DbSession中去调用这些方法
转自:http://www.cnblogs.com/hanyinglong/archive/2012/12/13/mvc.html
posted @ 2016-03-22 15:11  KempJiang  阅读(507)  评论(0编辑  收藏  举报