ASP.NET.4.5.1+MVC5.0设置系统角色与权限
Controller代码
public class SystemUserController : Controller
{
//public void Log()
//{
// string meg = \”\”;
// int user = int.Parse(CookieHelper.GetValue(\”SysUserID\”));
// string ip = IPHelper.GetUserIp;
// foreach (var item in RouteData.Values)
// {
// meg += item.Key.ToUpper() + \”:\” + item.Value + \”|\”;
// }
// AuditLogConfig.InsertAuditLog(meg, user, ip);
//}
SystemUserRepository sysuserrepository = new SystemUserRepository();
RoleRepository roleryrepository = new RoleRepository();
DepartmentRepository departmentryrepository = new DepartmentRepository();
JobRepository jobryrepository = new JobRepository();
#region 列表页
///
/// 列表页
///
/// 当前页
///
[Authorize]
public ActionResult Index(int? page)
{
ViewBag.ControllerName=RouteData.Values[\”controller\”].ToString().ToLower();
CookieHelper.Del(\”LogName\”);
var source = sysuserrepository.GetPageModelList(10, page ?? 1, -1);
return View(source);
}
#endregion
#region 添加管理员
///
/// 添加页
///
/// 管理员实体类
///
[Authorize]
public ActionResult Add(SystemUser model)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var rolelist = roleryrepository.GetModelListByState(1);
ViewBag.RoleID = SelectListExtension.ToSelectList(rolelist, d => d.RoleName, d => d.RoleID.ToString());
var departmentlist = departmentryrepository.GetModelListByState(1);
ViewBag.DepartmentID = SelectListExtension.ToSelectList(departmentlist, d => d.DepartmentName, d => d.DepartmentID.ToString());
var joblist = jobryrepository.GetModelListByState(1);
ViewBag.JobID = SelectListExtension.ToSelectList(joblist, d => d.JobName, d => d.JobID.ToString());
// ViewData[\”State\”] = SelectListHelper.GetIsOrNoSelectList(0);
return View();
}
///
/// 添加事件 codego.net
///
/// 实体类
///
///
[Authorize, HttpPost, ValidateInput(false)]
public ActionResult Add(SystemUser model, FormCollection fc)
{
model.State = 1;
model.CreateTime = DateTime.Now;
sysuserrepository.SaveOrEditModel(model);
return RedirectToAction(\”Index\”);
}
#endregion
#region 删除
///
/// 删除
///
/// 删除编号
///
[Authorize]
public ActionResult Delete(int id)
{
try
{
var model = sysuserrepository.GetModel(id);
if (model != null)
{
sysuserrepository.DeleteModel(id);
return RedirectToAction(\”Index\”);
}
else
return View(\”404\”);
//throw new Exception(\”方法出错!\”);
}
catch (Exception ex)
{
Log4netHelper.InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, \”删除方法出错-Author:ryanding IP地址[\” + IPHelper.GetUserIp + \”]\” + \”操作人ID:\” + CookieHelper.GetValue(\”SystemUserID\”), ex);
return View(\”404\”);
}
}
#endregion
#region 查询
[Authorize]
public ActionResult Search(int? page)
{
string logname = \”\”;
if (page == null)
{
logname = Request.Form[\”KeyWord\”];
CookieHelper.SetObj(\”KeyWord\”, 0, logname);
}
else
logname = CookieHelper.GetValue(\”KeyWord\”);
var query = QueryBuilder.Create().Like(d => d.LogName, logname);
var source = sysuserrepository.GetModelList().Where(query.Expression);
return View(new Pager(source, page ?? 1));
}
#endregion
#region 编辑
[Authorize]
public ActionResult Edit(int id)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var model = sysuserrepository.GetModel(id);
if (model != null)
{
var rolelist = roleryrepository.GetModelListByState(1);
ViewBag.RoleID = SelectListExtension.ToSelectList(rolelist, d => d.RoleName, d => d.RoleID.ToString(),model.RoleID);
var departmentlist = departmentryrepository.GetModelListByState(1);
ViewBag.DepartmentID = SelectListExtension.ToSelectList(departmentlist, d => d.DepartmentName, d => d.DepartmentID.ToString(), model.DepartmentID);
var joblist = jobryrepository.GetModelListByState(1);
ViewBag.JobID = SelectListExtension.ToSelectList(joblist, d => d.JobName, d => d.JobID.ToString(), model.JobID);
ViewData[\”State\”] = SelectListHelper.GetStateSelectList(model.State);
return View(model);
}
else
return View(\”404\”);
}
[Authorize, AcceptVerbs(HttpVerbs.Post), ValidateInput(false)]
public ActionResult Edit(int id, FormCollection fc)
{
var model = sysuserrepository.GetModel(id);
if (model != null)
{
string password = model.Password;
if (Request.Form[\”PassWord\”] != \”\”)
{
UpdateModel(model);
sysuserrepository.SaveOrEditModel(model);
}
else
{
UpdateModel(model);
model.Password = password;
sysuserrepository.SaveOrEditModel(model);
}
return RedirectToAction(\”index\”);
}
else
return View(\”404\”);
}
#endregion
#region 用户名是否可用
//检测用户名是否可用
[HttpPost]
public ActionResult GetUsers(string param, string name)
{
if (sysuserrepository.IsExist(param))
return Content(\”y\”);
else
return Content(\”用户名已存在\”);
}
#endregion
public bool Login()
{
try
{
//TODO:
throw new Exception(\”方法出错!\”);
}
catch (Exception ex)
{
Log4netHelper.InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, \”登录方法Login出错-Author:ryanding IP地址[\” + IPHelper.GetUserIp + \”]\” + \”操作人ID:\” + CookieHelper.GetValue(\”SystemUserID\”), ex);
return false;
}
return true;
}
}
View代码
Index.cshtml
@{
ViewBag.Title = \”Index\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
@model SJCRM.Helpers.Pager
- 关键词:
- 添加用户
用户编号 | 登录名 | 手机 | 昵称 | 状态 | 操作 |
@{int classnum = 1;}
@foreach (var item in Model)
{
{class=\”rgbg2\”}>
@item.SystemUserID
@(item.LogName)
@item.Mobile
@item.Email
@item.TrueName
@(item.State == 1 ? \”有效\” : \”无效\”)
删除 | 编辑
classnum = classnum + 1;
}
@UIHelper.PagesHelper(ViewBag.ControllerName, Model.TotalPages, Model.PageIndex, Model.PageSize, Model.TotalCount, Model.HasPreviousPage, Model.HasNextPage, Model.PageList)
Add.cshtml
@{
ViewBag.Title = \”Add\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
添加用户
@using (Html.BeginForm())
{
- 用户名:
-
- 昵称:
-
- Email:
-
- 手机号:
-
- 密码:
-
- 确认密码:
-
- 岗位:
- @Html.DropDownList(\”JobID\”, ViewBag.JobID as SelectList)
- 部门:
- @Html.DropDownList(\”DepartmentID\”, ViewBag.DepartmentID as SelectList)
- 角色:
- @Html.DropDownList(\”RoleID\”, ViewBag.RoleID as SelectList)
}
Edit.cshtml
@{
ViewBag.Title = \”Add\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
@model SJCRM.Models.SystemUser
编辑用户
@using (Html.BeginForm())
{
- 用户名:
-
- 昵称:
-
- Email:
-
- 手机号:
-
- 修改密码:
-
- 岗位:
- @Html.DropDownList(\”JobID\”, ViewBag.JobID as SelectList)
- 部门:
- @Html.DropDownList(\”DepartmentID\”, ViewBag.DepartmentID as SelectList)
- 角色:
- @Html.DropDownList(\”RoleID\”, ViewBag.RoleID as SelectList)
}
Search.cshtml
@{
ViewBag.Title = \”Index\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
@model SJCRM.Helpers.Pager
- 关键词:
- 添加用户
用户编号 | 登录名 | 手机 | 昵称 | 状态 | 操作 |
@{int classnum = 1;}
@foreach (var item in Model)
{
{class=\”rgbg2\”}>
@item.SystemUserID
@(item.LogName)
@item.Mobile
@item.Email
@item.TrueName
@(item.State == 1 ? \”有效\” : \”无效\”)
删除 | 编辑
classnum = classnum + 1;
}
角色管理
Controller代码
public class RoleController : Controller
{
RoleRepository roleryrepository = new RoleRepository();
MenuRepository menurepository = new MenuRepository();
RoleMenuMappingRepository rmmrepositoy = new RoleMenuMappingRepository();
#region 列表
///
/// 默认页面
///
///
///
[Authorize]
public ActionResult Index(int? page)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var source = roleryrepository.GetModelList();
return View(roleryrepository.GetPageModelList(source, 10, page ?? 1));
}
#endregion
#region 添加
///
/// 添加页
///
/// 实体类
///
[Authorize]
public ActionResult Add(Role model)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var menu = menurepository.GetModelListByState(1);
ViewBag.Menu = new SelectList(menu, \”MenuID\”, \”MenuName\”);
// ViewData[\”State\”] = SelectListHelper.GetIsOrNoSelectList(0);
return View();
}
public string Log()
{
string meg = \”\”;
//int user = int.Parse(CookieHelper.GetValue(\”SysUserID\”));
//string ip = IPHelper.GetUserIp;
foreach (var item in RouteData.Values)
{
meg += item.Key.ToUpper() + \”:\” + item.Value + \”|\”;
}
return meg;
}
///
/// 添加事件
///
/// 实体类
///
///
[Authorize, HttpPost, ValidateInput(false)]
public ActionResult Add(Role model, FormCollection fc, int[] Menu)
{
try
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
model.State = 1;
model.CreateTime = DateTime.Now;
roleryrepository.SaveOrEditModel(model);
if (Menu.Length > 0)
{
foreach (int gsi in Menu)
{
RoleMenuMapping rmm = new RoleMenuMapping();
rmm.MenuID = gsi;
rmm.RoleID = model.RoleID;
rmmrepositoy.SaveOrEditModel(rmm);
}
}
else
{
return RedirectToAction(\”Index\”);
}
}
catch (Exception ex)
{
Log4netHelper.InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, ViewBag.ControllerName + \”添加方法出错-Author:ryanding IP地址[\” + IPHelper.GetUserIp + \”]\” + \”操作人ID:\” + CookieHelper.GetValue(\”SystemUserID\”) + \”当前来源信息:\” + Log(), ex);
}
return View(\”404\”);
}
#endregion
#region 删除
///
/// 删除
///
/// 删除编号
///
[Authorize]
public ActionResult Delete(int id)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var model = roleryrepository.GetModel(id);
model.State = 0;
if (model != null)
{
roleryrepository.SaveOrEditModel(model);
return RedirectToAction(\”index\”);
}
else
return View(\”404\”);
}
#endregion
#region 查询
[Authorize]
public ActionResult Search(int? page)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
string name = \”\”;
if (page == null)
{
name = Request.Form[\”KeyWord\”];
CookieHelper.SetObj(\”KeyWord\”, 0, name);
}
else
name = CookieHelper.GetValue(\”KeyWord\”);
var query = QueryBuilder.Create().Like(d => d.RoleName, name);
var source = roleryrepository.GetModelList().Where(query.Expression);
return View(new Pager(source, page ?? 1, 10));
}
#endregion
#region 编辑
[Authorize]
public ActionResult Edit(int id)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var rmmList = rmmrepositoy.GetModelList().Where(d => d.RoleID == id);
var menu = menurepository.GetModelListByState(1);
ViewBag.Menu = new SelectList(menu, \”MenuID\”, \”MenuName\”, string.Join(\”,\”, rmmList.Select(p => p.MenuID)));
var model = roleryrepository.GetModel(id);
if (model != null)
{
ViewData[\”State\”] = SelectListHelper.GetStateSelectList(model.State);
return View(model);
}
else
return View(\”404\”);
}
[Authorize, AcceptVerbs(HttpVerbs.Post), ValidateInput(false)]
public ActionResult Edit(int id, FormCollection fc, int[] Menu)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var model = roleryrepository.GetModel(id);
if (model != null)
{
if (Menu.Length > 0)
{
rmmrepositoy.DeleteModel(rmmrepositoy.GetModelList().Where(d => d.RoleID == model.RoleID));
foreach (int gsi in Menu)
{
RoleMenuMapping rmm = new RoleMenuMapping();
rmm.MenuID = gsi;
rmm.RoleID = model.RoleID;
rmmrepositoy.SaveOrEditModel(rmm);
}
}
UpdateModel(model);
roleryrepository.SaveOrEditModel(model);
return RedirectToAction(\”index\”);
}
else
return View(\”404\”);
}
#endregion
}
View代码
Index.cshtml
@{
ViewBag.Title = \”Index\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
@model SJCRM.Helpers.Pager
- 关键词:
- 添加
编号 | 角色名称 | 角色内容 | 创建时间 | 状态 | 操作 |
@{int classnum = 1;}
@foreach (var item in Model)
{
{class=\”rgbg2\”}>
@item.RoleID
@item.RoleName
@item.RoleContent
@String.Format(\”{0:yyyy-MM-dd}\”, item.CreateTime)
@(item.State == 1 ? \”有效\” : \”无效\”)
删除 | 编辑
classnum = classnum + 1;
}
@UIHelper.PagesHelper(ViewBag.ControllerName, Model.TotalPages, Model.PageIndex, Model.PageSize, Model.TotalCount, Model.HasPreviousPage, Model.HasNextPage, Model.PageList);
Add.cshtml
@using SJCRM.Helpers
@{
ViewBag.Title = \”Add\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
添加
@using (Html.BeginForm())
{
- 角色名称:
-
- 角色权限:
- @Html.CheckBoxList(\”Menu\”)
- 角色内容:
-
}
Edit.cshtml
@using SJCRM.Helpers
@{
ViewBag.Title = \”Add\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
@model SJCRM.Models.Role
编辑
@using (Html.BeginForm())
{
- 角色名称:
-
- 角色权限:
- @Html.CheckBoxList(\”Menu\”)
- 角色内容:
- @Model.RoleName
}
Search.cshtml
@{
ViewBag.Title = \”Index\”;
Layout = \”~/Views/Shared/_Layout.cshtml\”;
}
@model SJCRM.Helpers.Pager
- 关键词:
- 添加
编号 | 角色名称 | 角色内容 | 创建时间 | 状态 | 操作 |
@{int classnum = 1;}
@foreach (var item in Model)
{
{class=\”rgbg2\”}>
@item.RoleID
@item.RoleName
@item.RoleContent
@String.Format(\”{0:yyyy-MM-dd}\”, item.CreateTime)
@(item.State == 1 ? \”有效\” : \”无效\”)
删除 | 编辑
classnum = classnum + 1;
}
菜单管理
Controller代码
public class MenuController : Controller
{
MenuRepository repository = new MenuRepository();
#region 列表
///
/// 默认页面
///
///
///
[Authorize]
public ActionResult Index(int? page)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var source = repository.GetModelListByState(1);
return View(repository.GetPageModelList(source, 10, page ?? 1));
}
#endregion
#region 添加
///
/// 添加页
///
/// 实体类
///
[Authorize]
public ActionResult Add(Menu model)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
// ViewData[\”State\”] = SelectListHelper.GetIsOrNoSelectList(0);
return View();
}
///
/// 添加事件
///
/// 实体类
///
///
[Authorize, HttpPost, ValidateInput(false)]
public ActionResult Add(Menu model, FormCollection fc)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
model.State = 1;
model.CreateTime = DateTime.Now;
repository.SaveOrEditModel(model);
return RedirectToAction(\”Index\”);
}
#endregion
#region 删除
///
/// 删除
///
/// 删除编号
///
[Authorize]
public ActionResult Delete(int id)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
var model = repository.GetModel(id);
model.State = 0;
if (model != null)
{
repository.SaveOrEditModel(model);
return RedirectToAction(\”index\”);
}
else
return View(\”404\”);
//var model = categoryrepository.GetModel(id);
//if (model != null)
//{
// categoryrepository.DeleteModel(id);
// return RedirectToAction(\”Index\”);
//}
//else
// return View(\”404\”);
}
#endregion
#region 查询
[Authorize]
public ActionResult Search(int? page)
{
ViewBag.ControllerName = RouteData.Values[\”controller\”].ToString().ToLower();
string name = \”\”;
if (page == null)
{
name = Request.Form[\”KeyWord\”];
CookieHelper.SetObj(\”KeyWord\”, 0, name);
}
else
name = CookieHelper.GetValue(\”KeyWord\”);
var query = QueryBuilder.Create
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30184726/viewspace-1482916/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30184726/viewspace-1482916/
- 点赞
- 收藏
- 分享
- 文章举报
cuibeiwang5714发布了0 篇原创文章 · 获赞 0 · 访问量 71私信关注