FineUI 官方论坛

标题: 【已确认】关于AppBoxMvc越权访问的问题! [打印本页]

作者: 龙涛软件    时间: 2017-2-16 17:38
标题: 【已确认】关于AppBoxMvc越权访问的问题!
请问下,三石大大,
越权访问的问题,
比如,某用户没有用户管理的权限,登录以后,我用浏览器新开URL越权访问后,如:http://localhost:64476/Admin/UserEdit?id=49
会提示无权访问该页面,但系统同时后台也报错了,接下来,页面基本就一直无响应了,这个是否是BUG,谢谢解答。
[attach]9798[/attach]



作者: sanshi    时间: 2017-2-16 20:47
这是个BUG,下个版本会修正,多谢。你因此获得【代码贡献】勋章。
你也可以先自己修改,在 CheckPowerAttribute.cs 文件中,下面代码:
  1. public override void OnActionExecuting(ActionExecutingContext filterContext)
  2. {
  3.         HttpContextBase context = filterContext.HttpContext;
  4.         // 权限验证不通过
  5.         if (!String.IsNullOrEmpty(Name) && !AppBoxMvc.Controllers.BaseController.CheckPower(context, Name))
  6.         {
  7.                 if (context.Request.HttpMethod == "GET")
  8.                 {
  9.                         AppBoxMvc.Controllers.BaseController.CheckPowerFailWithPage(context);
  10.                 }
  11.                 else if (context.Request.HttpMethod == "POST")
  12.                 {
  13.                         AppBoxMvc.Controllers.BaseController.CheckPowerFailWithAlert();
  14.                         filterContext.Result = UIHelper.Result();
  15.                 }
  16.         }

  17. }
复制代码

修改为:
  1. public override void OnActionExecuting(ActionExecutingContext filterContext)
  2. {
  3.         HttpContextBase context = filterContext.HttpContext;
  4.         // 权限验证不通过
  5.         if (!String.IsNullOrEmpty(Name) && !AppBoxMvc.Controllers.BaseController.CheckPower(context, Name))
  6.         {
  7.                 if (context.Request.HttpMethod == "GET")
  8.                 {
  9.                         AppBoxMvc.Controllers.BaseController.CheckPowerFailWithPage(context);

  10.                         // -修正越权访问页面时会报错[服务器无法在发送 HTTP 标头之后追加标头](龙涛软件-9374)。
  11.                         filterContext.Result = new EmptyResult();
  12.                 }
  13.                 else if (context.Request.HttpMethod == "POST")
  14.                 {
  15.                         AppBoxMvc.Controllers.BaseController.CheckPowerFailWithAlert();
  16.                         filterContext.Result = UIHelper.Result();
  17.                 }
  18.         }

  19. }
复制代码

即可!



作者: 龙涛软件    时间: 2017-2-16 23:27
本帖最后由 龙涛软件 于 2017-2-16 23:49 编辑

谢谢,三石大的反馈,强烈支持fineUI,做更好优秀的产品~
作者: Apollo    时间: 2017-3-1 16:37





欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4