ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限(3)_.Net教程
推薦:使用ASP.NET.4.5.1+MVC5.0 搭建一個(gè)包含 Ninject框架 項(xiàng)目這篇文章主要介紹了使用ASP.NET.4.5.1+MVC5.0 搭建一個(gè)包含 Ninject框架 項(xiàng)目的方法,需要的朋友可以參考下 1.創(chuàng)建一個(gè)空白解決方案 2.添加一個(gè)類(lèi)庫(kù) 名稱(chēng)為XXX.Domain 3.添加一個(gè)ASP.MVC 名稱(chēng)為XXX.WebUI 4.選著空模版,勾選MVC核心引用 5.添加單元測(cè)試項(xiàng)目 XXX.UntiTes
代碼如下:
namespace HR.Helpers
{
public class PermissionAttribute : FilterAttribute, IActionFilter
{
public List<EnumMoudle> Permissions { get; set; }
public PermissionAttribute(params EnumMoudle[] parameters)
{
Permissions = parameters.ToList();
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
//throw new NotImplementedException();
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
//throw new NotImplementedException();
}
}
}
8.然后在Controller或者Action方法加上驗(yàn)證
代碼如下:
[Permission(EnumMoudle.Employees),Authorize, ValidateInput(false)]
[Permission(EnumMoudle.SysUserManage_Role)]
9.在用戶(hù)管理Controller中添加權(quán)限分配,修改方法
代碼如下:
#region 添加管理員
/// <summary>
/// 添加頁(yè)
/// </summary>
/// <param name="model">管理員實(shí)體類(lèi)</param>
/// <returns></returns>
[Authorize]
public ActionResult Add()
{
var moudleList = EnumHelper.GetItemValueList<EnumMoudle>();
this.ViewBag.MoudleList = new SelectList(mouldeList, "Key", "Value");
return View();
}
/// <summary>
/// 添加事件
/// </summary>
/// <param name="model">實(shí)體類(lèi)</param>
/// <param name="fc"></param>
/// <returns></returns>
[Authorize, HttpPost, ValidateInput(false)]
public ActionResult Add(SystemUser model, FormCollection fc)
{
model.BusinessPermissionString = fc["MoudelList"];
model.State = 1;
model.CreateTime = DateTime.Now;
systemuserrepository.SaveOrEditModel(model);
return RedirectToAction("UserList");
}
#endregion
//修改權(quán)限
[Authorize, AcceptVerbs(HttpVerbs.Post), ValidateInput(false)]
public ActionResult Edit(int id, FormCollection fc)
{
var model = systemuserrepository.GetModel(id);
if (model != null)
{
string password = model.PassWord;
if (Request.Form["PassWord"] != "")
{
model.BusinessPermissionString = fc["MoudleList"];
UpdateModel(model);
systemuserrepository.SaveOrEditModel(model);
}
else
{
model.BusinessPermissionString = fc["MoudleList"];
UpdateModel(model);
model.PassWord = password;
systemuserrepository.SaveOrEditModel(model);
}
return RedirectToAction("userlist");
}
else
return View("404");
}
#endregion
代碼如下:
[Authorize]
public ActionResult Edit(int id)
{
var model = systemuserrepository.GetModel(id);
if (model != null)
{
var moudleList = EnumHelper.GetItemValueList<EnumBusinessPermission>();
this.ViewBag.MoudleList = new SelectList(moudleList, "Key", "Value", string.Join(",", model.BusinessPermissionString.ToString()));
return View(model);
}
else
return View("404");
}
以上就是本文的全部?jī)?nèi)容了,后續(xù)我們將持續(xù)更新,小伙伴們是否喜歡本系列文章呢?
分享:ASP.NET中的URL映射技巧在項(xiàng)目中經(jīng)常要進(jìn)行如下映射 將 http://yyjcw.com/a.aspx?name=llinzzi 映射到 http://yyjcw.com/llinzzi 首先要解決2個(gè)問(wèn)題 第一是支持通配符的映射 URL映射是asp.net2.0新增的功能,不支持通配符 于是采用了NBEAR的 NBear.Web.Modules.UrlRewriteRules 進(jìn)行通配符映射
- 使用ASP.NET.4.5.1+MVC5.0 搭建一個(gè)包含 Ninject框架 項(xiàng)目
- ASP.NET中的URL映射技巧
- ADO.NET中的Connection對(duì)象詳解
- Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)實(shí)例
- ASP.NET中實(shí)現(xiàn)獲取調(diào)用方法名
- ASP.NET中MVC從后臺(tái)控制器傳遞數(shù)據(jù)到前臺(tái)視圖的方式
- .net使用自定義類(lèi)屬性實(shí)例
- .NET實(shí)現(xiàn)在網(wǎng)頁(yè)中預(yù)覽Office文件的3個(gè)方法
- asp.net中控制反轉(zhuǎn)怎么理解?
- delphi選擇文件夾例子
- asp.net中C++單例實(shí)現(xiàn)問(wèn)題分析
- 簡(jiǎn)單理解Web Service三種實(shí)現(xiàn)方式
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解讀asp.net點(diǎn)擊textbox自動(dòng)清除其中文字
- .NET下為百度文本編輯器UEditor增加圖片刪除功能示例
- ASP.NET調(diào)用oracle存儲(chǔ)過(guò)程實(shí)現(xiàn)快速分頁(yè)
- .NET 線(xiàn)程基礎(chǔ)的使用介紹
- 實(shí)現(xiàn).NET應(yīng)用程序的自動(dòng)更新
- 基于.Net中的數(shù)字與日期格式化規(guī)則助記詞的使用詳解
- Asp.net 對(duì)路徑的訪(fǎng)問(wèn)被拒絕 解決方法的分析
- ASP.NET筆記之 viewstate與cache的使用
- asp.net將Execl讀到DataSet或DataTable中
- 使用存儲(chǔ)過(guò)程實(shí)現(xiàn)用戶(hù)登錄(含代碼)
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限(3)
- 教程說(shuō)明:
.Net教程-ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限(3)
。