国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限_.Net教程

2024-07-10 12:52:52
字體:
供稿:網(wǎng)友

推薦:使用ASP.NET.4.5.1+MVC5.0 搭建一個包含 Ninject框架 項目
這篇文章主要介紹了使用ASP.NET.4.5.1+MVC5.0 搭建一個包含 Ninject框架 項目的方法,需要的朋友可以參考下 1.創(chuàng)建一個空白解決方案 2.添加一個類庫 名稱為XXX.Domain 3.添加一個ASP.MVC 名稱為XXX.WebUI 4.選著空模版,勾選MVC核心引用 5.添加單元測試項目 XXX.UntiTes

這篇文章主要介紹了ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限的部分內(nèi)容,后續(xù)我們將繼續(xù)討論這個話題,希望小伙伴們喜歡。  

數(shù)據(jù)結(jié)構(gòu)

ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限 武林網(wǎng)

權(quán)限分配

ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限

1.在項目中新建文件夾Helpers

2.在HR.Helpers文件夾下添加EnumMoudle.Cs

 代碼如下:
namespace HR.Helpers
{
public enum EnumMoudle
{
/// <summary>
/// 模塊
/// </summary>
[EnumTitle("用戶管理")]
SysUserManage_Role = 102,
[EnumTitle("機(jī)構(gòu)管理")]
Department = 201,
[EnumTitle("人事資料")]
Employees = 301,
[EnumTitle("系統(tǒng)管理")]
BaseInfo = 404,
}
}

 

3.在HR.Helpers文件夾下添加ControllerBase.Cs

 

代碼如下:
namespace HR.Helpers
{
public class ControllerBase : Controller
{
/// <summary>
/// 操作人,傳IP....到后端記錄
/// </summary>
public virtual Operater Operater
{
get
{
return null;
}
}
/// <summary>
/// 分頁大小
/// </summary>
public virtual int PageSize
{
get
{
return 15;
}
}
protected ContentResult JsonP(string callback, object data)
{
var json = Newtonsoft.Json.JsonConvert.SerializeObject(data);
return this.Content(string.Format("{0}({1})", callback, json));
}
/// <summary>
/// 當(dāng)彈出DIV彈窗時,需要刷新瀏覽器整個頁面
/// </summary>
/// <returns></returns>
public ContentResult RefreshParent(string alert = null)
{
var script = string.Format("<script>{0}; parent.location.reload(1)</script>", string.IsNullOrEmpty(alert) ? string.Empty : "alert('" + alert + "')");
return this.Content(script);
}
public new ContentResult RefreshParentTab(string alert = null)
{
var script = string.Format("<script>{0}; if (window.opener != null) {{ window.opener.location.reload(); window.opener = null;window.open('', '_self', ''); window.close()}} else {{parent.location.reload(1)}}</script>", string.IsNullOrEmpty(alert) ? string.Empty : "alert('" + alert + "')");
return this.Content(script);
}
/// <summary>
/// 用JS關(guān)閉彈窗
/// </summary>
/// <returns></returns>
public ContentResult CloseThickbox()
{
return this.Content("<script>top.tb_remove()</script>");
}
/// <summary>
/// 警告并且歷史返回
/// </summary>
/// <param name="notice"></param>
/// <returns></returns>
public ContentResult Back(string notice)
{
var content = new StringBuilder("<script>");
if (!string.IsNullOrEmpty(notice))
content.AppendFormat("alert('{0}');", notice);
content.Append("history.go(-1)</script>");
return this.Content(content.ToString());
}
public ContentResult PageReturn(string msg, string url = null)
{
var content = new StringBuilder("<script type='text/javascript'>");
if (!string.IsNullOrEmpty(msg))
content.AppendFormat("alert('{0}');", msg);
if (string.IsNullOrWhiteSpace(url))
url = Request.Url.ToString();
content.Append("window.location.href='" + url + "'</script>");
return this.Content(content.ToString());
}
/// <summary>
/// 轉(zhuǎn)向到一個提示頁面,然后自動返回指定的頁面
/// </summary>
/// <param name="notice"></param>
/// <param name="redirect"></param>
/// <returns></returns>
public ContentResult Stop(string notice, string redirect, bool isAlert = false)
{
var content = "<meta http-equiv='refresh' content='1;url=" + redirect + "' /><body style='margin-top:0px;color:red;font-size:24px;'>" + notice + "</body>";
if (isAlert)
content = string.Format("<script>alert('{0}'); window.location.href='{1}'</script>", notice, redirect);
return this.Content(content);
}
/// <summary>
/// 在方法執(zhí)行前更新操作人
/// </summary>
/// <param name="filterContext"></param>
public virtual void UpdateOperater(ActionExecutingContext filterContext)
{
if (this.Operater == null)
return;
WCFContext.Current.Operater = this.Operater;
}
public virtual void ClearOperater()
{
//TODO
}
/// <summary>
/// AOP攔截,在Action執(zhí)行后
/// </summary>
/// <param name="filterContext">filter context</param>
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
if (!filterContext.RequestContext.HttpContext.Request.IsAjaxRequest() && !filterContext.IsChildAction)
RenderViewData();
this.ClearOperater();
}
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
this.UpdateOperater(filterContext);
base.OnActionExecuting(filterContext);
//在方法執(zhí)行前,附加上PageSize值
filterContext.ActionParameters.Values.Where(v => v is Request).ToList().ForEach(v => ((Request)v).PageSize = this.PageSize);
}
/// <summary>
/// 產(chǎn)生一些視圖數(shù)據(jù)
/// </summary>
protected virtual void RenderViewData()
{
}
/// <summary>
/// 當(dāng)前Http上下文信息,用于寫Log或其他作用
/// </summary>
public WebExceptionContext WebExceptionContext
{
get
{
var exceptionContext = new WebExceptionContext
{
IP = Fetch.UserIp,
CurrentUrl = Fetch.CurrentUrl,
RefUrl = (Request == null || Request.UrlReferrer == null) ? string.Empty : Request.UrlReferrer.AbsoluteUri,
IsAjaxRequest = (Request == null) ? false : Request.IsAjaxRequest(),
FormData = (Request == null) ? null : Request.Form,
QueryData = (Request == null) ? null : Request.QueryString,
RouteData = (Request == null || Request.RequestContext == null || Request.RequestContext.RouteData == null) ? null : Request.RequestContext.RouteData.Values
};
return exceptionContext;
}
}
/// <summary>
/// 發(fā)生異常寫Log
/// </summary>
/// <param name="filterContext"></param>
protected override void OnException(ExceptionContext filterContext)
{
base.OnException(filterContext);
var e = filterContext.Exception;
LogException(e, this.WebExceptionContext);
}
protected virtual void LogException(Exception exception, WebExceptionContext exceptionContext = null)
{
//do nothing!
}
}
public class WebExceptionContext
{
public string IP { get; set; }
public string CurrentUrl { get; set; }
public string RefUrl { get; set; }
public bool IsAjaxRequest { get; set; }
public NameValueCollection FormData { get; set; }
public NameValueCollection QueryData { get; set; }
public RouteValueDictionary RouteData { get; set; }
}
}

 

4.在項目文件夾中新建ControllerBase.cs

分享:ASP.NET中的URL映射技巧
在項目中經(jīng)常要進(jìn)行如下映射 將 http://yyjcw.com/a.aspx?name=llinzzi 映射到 http://yyjcw.com/llinzzi 首先要解決2個問題 第一是支持通配符的映射 URL映射是asp.net2.0新增的功能,不支持通配符 于是采用了NBEAR的 NBear.Web.Modules.UrlRewriteRules 進(jìn)行通配符映射

共3頁上一頁123下一頁
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宾阳县| 来宾市| 伊春市| 蛟河市| 崇明县| 静乐县| 思南县| 曲沃县| 鄱阳县| 长沙县| 定日县| 涡阳县| 余姚市| 苏州市| 兴山县| 南康市| 郑州市| 宁城县| 莎车县| 梁平县| 祁门县| 蓝田县| 高青县| 和林格尔县| 句容市| 雷州市| 灵石县| 彩票| 太仆寺旗| 沈丘县| 光山县| 兰西县| 翁牛特旗| 高台县| 南宁市| 河池市| 东安县| 云和县| 方正县| 胶南市| 云和县|