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 文件中,下面代码:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContextBase context = filterContext.HttpContext;
// 权限验证不通过
if (!String.IsNullOrEmpty(Name) && !AppBoxMvc.Controllers.BaseController.CheckPower(context, Name))
{
if (context.Request.HttpMethod == "GET")
{
AppBoxMvc.Controllers.BaseController.CheckPowerFailWithPage(context);
}
else if (context.Request.HttpMethod == "POST")
{
AppBoxMvc.Controllers.BaseController.CheckPowerFailWithAlert();
filterContext.Result = UIHelper.Result();
}
}
}
复制代码
修改为:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContextBase context = filterContext.HttpContext;
// 权限验证不通过
if (!String.IsNullOrEmpty(Name) && !AppBoxMvc.Controllers.BaseController.CheckPower(context, Name))
{
if (context.Request.HttpMethod == "GET")
{
AppBoxMvc.Controllers.BaseController.CheckPowerFailWithPage(context);
// -修正越权访问页面时会报错[服务器无法在发送 HTTP 标头之后追加标头](龙涛软件-9374)。
filterContext.Result = new EmptyResult();
}
else if (context.Request.HttpMethod == "POST")
{
AppBoxMvc.Controllers.BaseController.CheckPowerFailWithAlert();
filterContext.Result = UIHelper.Result();
}
}
}
复制代码
即可!
作者:
龙涛软件
时间:
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