本文整理汇总了C#中System.Web.Mvc.ActionExecutingContext类的典型用法代码示例。如果您正苦于以下问题:C# ActionExecutingContext类的具体用法?C# ActionExecutingContext怎么用?C# ActionExecutingContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ActionExecutingContext类属于System.Web.Mvc命名空间,在下文中一共展示了ActionExecutingContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnActionExecuting
/// <summary>
/// 액션 메서드가 불려지기 전 호출되는 메서드
/// </summary>
/// <param name="filterContext">ControllerContext 하위 클래스</param>
public void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.IsLocal)
{
filterContext.Result = new HttpNotFoundResult();
}
}
示例2: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var message = string.Format("Start executing action {1} from {0}Controller", filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
filterContext.ActionDescriptor.ActionName);
_logger.Trace(message);
}
示例3: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!(filterContext.HttpContext.Request.IsAjaxRequest()))
{
filterContext.Result = new HttpNotFoundResult();
}
}
示例4: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext == null || filterContext.HttpContext == null)
return;
HttpRequestBase request = filterContext.HttpContext.Request;
if (request == null)
return;
//don't apply filter to child methods
if (filterContext.IsChildAction)
return;
if (request.QueryString != null && request.QueryString["AffiliateId"] != null)
{
var affiliateId = Convert.ToInt32(request.QueryString["AffiliateId"]);
if (affiliateId > 0)
{
var affiliateService = AffiliateService.Value;
var affiliate = affiliateService.GetAffiliateById(affiliateId);
if (affiliate != null && !affiliate.Deleted && affiliate.Active)
{
var workContext = WorkContext.Value;
if (workContext.CurrentCustomer != null &&
workContext.CurrentCustomer.AffiliateId != affiliate.Id)
{
workContext.CurrentCustomer.AffiliateId = affiliate.Id;
var customerService = CustomerService.Value;
customerService.UpdateCustomer(workContext.CurrentCustomer);
}
}
}
}
}
示例5: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (string.IsNullOrEmpty(_ignoreParameter) || string.IsNullOrEmpty(filterContext.RequestContext.HttpContext.Request.QueryString[_ignoreParameter]))
{
if (!BrowserUtility.BrowserUtility.SideInWeixinBrowser(filterContext.HttpContext))
{
//TODO:判断网页版登陆状态
ActionResult actionResult = null;
if (!string.IsNullOrEmpty(RedirectUrl))
{
actionResult = new RedirectResult(RedirectUrl);
}
else
{
actionResult = new ContentResult()
{
Content = _message
};
}
filterContext.Result = actionResult;
}
}
base.OnActionExecuting(filterContext);
}
示例6: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Stores the Request in an Accessible object
var request = filterContext.HttpContext.Request;
//Generate the appropriate key based on the user's Authentication Cookie
//This is overkill as you should be able to use the Authorization Key from
//Forms Authentication to handle this.
//var sessionIdentifier = string.Join("", MD5.Create().ComputeHash(Encoding.ASCII.GetBytes(request.Cookies[FormsAuthentication.FormsCookieName].Value)).Select(s => s.ToString("x2")));
//Generate an audit
Audit audit = new Audit()
{
// SessionID = sessionIdentifier,
AuditID = Guid.NewGuid(),
IPAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? request.UserHostAddress,
URLAccessed = request.RawUrl,
TimeAccessed = DateTime.Now,
UserName = (request.IsAuthenticated) ? filterContext.HttpContext.User.Identity.Name : "Anonymous",
TotalBytes = request.TotalBytes,
Browser = request.Browser.Type,
Data = SerializeRequest(request)
};
//Stores the Audit in the Database
AuditingContext context = new AuditingContext();
context.AuditRecords.Add(audit);
context.SaveChanges();
base.OnActionExecuting(filterContext);
}
示例7: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!this.Enable)
return;
var request = filterContext.RequestContext.HttpContext.Request;
var acceptEncoding = request.Headers.Get("Accept-Encoding");
if (string.IsNullOrEmpty(acceptEncoding))
return;
acceptEncoding = acceptEncoding.ToUpper();
var response = filterContext.RequestContext.HttpContext.Response;
if (acceptEncoding.Contains("GZIP"))
{
response.AppendHeader("Content-Encoding", "gzip");
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
}
else if (acceptEncoding.Contains("DEFLATE"))
{
response.AppendHeader("Content-Encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
}
}
示例8: AuthorizeCore
//权限判断业务逻辑
protected virtual bool AuthorizeCore(ActionExecutingContext filterContext, bool isViewPage)
{
if (filterContext.HttpContext == null)
{
throw new ArgumentNullException("httpContext");
}
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
return false;//判定用户是否登录
}
//var user = new CurrentUser();//获取当前用户信息
//var controllerName = filterContext.RouteData.Values["controller"].ToString();
//var actionName = filterContext.RouteData.Values["action"].ToString();
//if (isViewPage && (controllerName.ToLower() != "main" && actionName.ToLower() != "masterpage"))//如果当前Action请求为具体的功能页并且不是MasterPage页
//{
// if (user.MenuPermission.Count(m => m.ControllerName == controllerName && m.ActionName == actionName) == 0)
// return false;
//}
//else
//{
// var actions = ContainerFactory.GetContainer().Resolve<IAuthorityFacade>().GetAllActionPermission();//所有被维护的Action权限
// if (actions.Count(a => a.ControllerName == controllerName && a.ActionName == actionName) != 0)//如果当前Action属于被维护的Action权限
// {
// if (user.ActionPermission.Count(a => a.ControllerName == controllerName && a.ActionName == actionName) == 0)
// return false;
// }
//}
return true;
}
示例9: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
/* 注释
----------------------------------------------------------*/
/*
var values = filterContext.RouteData.Values;
if ((values["Controller"].ToString().ToLower() == "sysloginmanage")
)
return;
filterContext.HttpContext.Response.Write("<script type='text/javascript'>window.location.href='www.bing.com'</script> ");
filterContext.HttpContext.Response.End();
if (SysContext.CurrentSysUser == null)
{
if (values["Controller"].ToString().ToLower() == "exporthelper")
filterContext.HttpContext.Response.Write("<script type='text/javascript'>window.returnValue='401 ';window.close();</script> ");
else if(values["Controller"].ToString().ToLower() == "home")
filterContext.HttpContext.Response.Write("<script type='text/javascript'>window.location.href='/sysloginmanage/index'</script> ");
else
filterContext.HttpContext.Response.Write("<script type='text/javascript'>window.top.redirectToLogin();</script> ");
filterContext.HttpContext.Response.End();
}*/
}
示例10: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// Redirect if not authenticated
var controller = filterContext.RouteData.Values["controller"].ToString();
if (!filterContext.IsChildAction && !filterContext.HttpContext.User.Identity.IsAuthenticated && controller != "Auth" && controller != "Error")
{
// Use the current url for the redirect
string redirectOnSuccess = filterContext.HttpContext.Request.Url.AbsolutePath;
// Send them off to the login page
var loginUrl = _useReturnUrl
? string.Format("~/Auth/LogOn?ReturnUrl={0}", redirectOnSuccess)
: "~/Auth/LogOn";
if (_useRewrite)
{
filterContext.Result = new RewriteResult(loginUrl);
}
else
{
filterContext.Result = new RedirectResult(loginUrl);
}
}
}
示例11: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext == null)
{
throw new ArgumentNullException("filterContext");
}
var area = filterContext.RouteData.DataTokens["area"];
var controllerName = filterContext.RouteData.Values["controller"].ToString();
var actionName = filterContext.RouteData.Values["action"].ToString();
var path = filterContext.HttpContext.Request.Path.ToLower();
if (path == "/" || path == "/Main/Login".ToLower() || path == "/Main/UserLogin".ToLower())
return;//忽略对Login登录页的权限判定
object[] attrs = filterContext.ActionDescriptor.GetCustomAttributes(typeof(ViewPageAttribute), true);
var isViewPage = attrs.Length == 1;//当前Action请求是否为具体的功能页
if (this.AuthorizeCore(filterContext, isViewPage) == false)//根据验证判断进行处理
{
//注:如果未登录直接在URL输入功能权限地址提示不是很友好;如果登录后输入未维护的功能权限地址,那么也可以访问,这个可能会有安全问题
if (isViewPage == true)
{
filterContext.Result = new HttpUnauthorizedResult();//直接URL输入的页面地址跳转到登陆页
}
else
{
filterContext.Result = new ContentResult { Content = @"JsHelper.ShowError('抱歉,你不具有当前操作的权限!')" };//功能权限弹出提示框
}
}
}
示例12: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext c)
{
var key = string.Concat(Name, "-", c.HttpContext.Request.UserHostAddress);
var allowExecute = false;
if (HttpRuntime.Cache[key] == null)
{
HttpRuntime.Cache.Add(key,
true, // is this the smallest data we can have?
null, // no dependencies
DateTime.Now.AddSeconds(Seconds), // absolute expiration
Cache.NoSlidingExpiration,
CacheItemPriority.Low,
null); // no callback
allowExecute = true;
}
if (!allowExecute)
{
if (String.IsNullOrEmpty(Message))
Message = "You may only perform this action every {n} seconds.";
c.Result = new ContentResult { Content = Message.Replace("{n}", Seconds.ToString()) };
// see 409 - http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
c.HttpContext.Response.StatusCode = (int)HttpStatusCode.Conflict;
}
}
示例13: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpRequestBase request = filterContext.HttpContext.Request;
string acceptEncoding = request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(acceptEncoding))
{
return;
}
else
{
acceptEncoding = acceptEncoding.ToUpperInvariant();
HttpResponseBase response = filterContext.HttpContext.Response;
if (acceptEncoding.Contains("GZIP"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = CompressFilterActionAttribute.Gzip(response.Filter);
}
else if (acceptEncoding.Contains("DEFLATE"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = CompressFilterActionAttribute.Deflate(response.Filter);
}
}
}
示例14: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//在Action执行前执行
//此处获取用户角色:成功则执行,失败不执行
ErrorRedirect(filterContext);
base.OnActionExecuting(filterContext);
}
示例15: OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// do base action first to ensure we have our context objects like mtapp
base.OnActionExecuting(filterContext);
// skip everything if we're a store controller with closed actions, etc.
if (filterContext.Controller is Controllers.StoreController) return;
// otherwise check for a store closed page
if (filterContext.Controller is Controllers.Shared.BaseStoreController)
{
MerchantTribeApplication app = ((Controllers.Shared.BaseStoreController)filterContext.Controller).MTApp;
if (app != null)
{
if (app.CurrentRequestContext.CurrentStore.Settings.StoreClosed)
{
bool hasPass = false;
string guestPass = SessionManager.StoreClosedGuestPasswordForCurrentUser;
if (guestPass.Trim().Length > 0)
{
if (guestPass == app.CurrentStore.Settings.StoreClosedGuestPassword)
{
hasPass = true;
}
}
if (app.CurrentRequestContext.IsAdmin(app) == false && hasPass == false)
{
filterContext.Result = new RedirectResult("~/storeclosed");
}
}
}
}
}