public CustomJsonResult LogOff() { OwnRequest.Quit(); var ret = new { url = Areas.Wb.Own.OwnWebSettingUtils.GetLoginPage("") }; return(new CustomJsonResult(ResultType.Success, ResultCode.Success, "退出成功", ret)); }
public CustomJsonResult ChangePassword(RopChangePassword rop) { var result = AdminServiceFactory.AuthorizeRelay.ChangePassword(this.CurrentUserId, this.CurrentUserId, rop.OldPassword, rop.NewPassword); if (result.Result == ResultType.Success) { OwnRequest.Quit(); return(Json(ResultType.Success, "点击<a href=\"" + Wb.Own.OwnWebSettingUtils.GetLoginPage("") + "\">登录</a>")); } return(result); }
public CustomJsonResult GetIndexPageData() { var ret = new IndexModel(); ret.Title = OwnWebSettingUtils.GetWebName(); ret.IsLogin = OwnRequest.IsLogin(); if (ret.IsLogin) { ret.UserName = OwnRequest.GetUserNameWithSymbol(); } return(new CustomJsonResult(ResultType.Success, ResultCode.Success, "获取成功", ret)); }
public static IHtmlString IsInPermission(this HtmlHelper helper, object value, params string[] permissions) { if (permissions == null) { return(helper.Raw(value)); } if (permissions.Length == 0) { return(helper.Raw(value)); } bool isHas = OwnRequest.IsInPermission(permissions); if (isHas) { return(helper.Raw(value)); } else { return(helper.Raw("")); } }
public ActionResult LogOff() { OwnRequest.Quit(); return(Redirect(OwnWebSettingUtils.GetLoginPage(""))); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { bool skipAuthorization = filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), inherit: true) || filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), inherit: true); if (skipAuthorization) { return; } var request = filterContext.RequestContext.HttpContext.Request; var response = filterContext.RequestContext.HttpContext.Response; bool isAjaxRequest = request.IsAjaxRequest(); string userAgent = request.UserAgent; string returnUrl = isAjaxRequest == true ? request.UrlReferrer.AbsoluteUri : request.Url.AbsoluteUri; if (request.HttpMethod == "POST") { if (request.IsAjaxRequest()) { var antiForgeryCookie = request.Cookies[AntiForgeryConfig.CookieName]; var cookieValue = antiForgeryCookie != null ? antiForgeryCookie.Value : null; //从cookies 和 Headers 中 验证防伪标记 //这里可以加try-catch AntiForgery.Validate(cookieValue, request.Headers["__RequestVerificationToken"]); } } string token = request.QueryString["token"]; if (token != null) { HttpCookie cookie_session = request.Cookies[OwnRequest.SESSION_NAME]; if (cookie_session != null) { cookie_session.Value = token; response.AppendCookie(cookie_session); } else { response.Cookies.Add(new HttpCookie(OwnRequest.SESSION_NAME, token)); } } var userInfo = OwnRequest.GetUserInfo(); if (userInfo == null) { MessageBox messageBox = new MessageBox(); messageBox.No = Guid.NewGuid().ToString(); messageBox.Type = MessageBoxTip.Failure; messageBox.Title = "温馨提示"; messageBox.GoToUrl = OwnWebSettingUtils.GetLoginPage(returnUrl); messageBox.Content = "请先<a href=\"javascript:void(0)\" onclick=\"window.top.location.href='" + WebMobile.Areas.Wb.Own.OwnWebSettingUtils.GetLoginPage(returnUrl) + "'\">登录</a>后打开"; messageBox.IsTop = true; if (isAjaxRequest) { CustomJsonResult jsonResult = new CustomJsonResult(ResultType.Exception, ResultCode.Exception, messageBox.Title, messageBox); //jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet; filterContext.Result = jsonResult; filterContext.Result.ExecuteResult(filterContext); filterContext.HttpContext.Response.End(); } else { filterContext.Result = new ViewResult { ViewName = "MessageBox", MasterName = "_Layout", ViewData = new ViewDataDictionary { Model = messageBox } }; } return; } if (_permissions != null) { MessageBox messageBox = new MessageBox(); messageBox.No = Guid.NewGuid().ToString(); messageBox.Type = MessageBoxTip.Warn; messageBox.Title = "温馨提示"; messageBox.Content = "您没有权限"; bool isHasPermission = OwnRequest.IsInPermission(_permissions); if (!isHasPermission) { if (isAjaxRequest) { CustomJsonResult jsonResult = new CustomJsonResult(ResultType.Exception, ResultCode.Exception, messageBox.Title, messageBox); //jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet; filterContext.Result = jsonResult; filterContext.Result.ExecuteResult(filterContext); filterContext.HttpContext.Response.End(); } else { filterContext.Result = new ViewResult { ViewName = "MessageBox", MasterName = "_Layout", ViewData = new ViewDataDictionary { Model = messageBox } }; } return; } } OwnRequest.Postpone(); base.OnActionExecuting(filterContext); }