FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3380|回复: 3

【已确认】关于AppBoxMvc越权访问的问题!

[复制链接]
发表于 2017-2-16 17:38:57 | 显示全部楼层 |阅读模式
请问下,三石大大,
越权访问的问题,
比如,某用户没有用户管理的权限,登录以后,我用浏览器新开URL越权访问后,如:http://localhost:64476/Admin/UserEdit?id=49
会提示无权访问该页面,但系统同时后台也报错了,接下来,页面基本就一直无响应了,这个是否是BUG,谢谢解答。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2017-2-16 20:47:11 | 显示全部楼层
这是个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:24 | 显示全部楼层
本帖最后由 龙涛软件 于 2017-2-16 23:49 编辑

谢谢,三石大的反馈,强烈支持fineUI,做更好优秀的产品~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-3-29 09:32 , Processed in 0.047317 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表