加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – asp.net mvc未经授权的回复是空白页吗?

发布时间:2020-12-16 04:30:27 所属栏目:asp.Net 来源:网络整理
导读:如果我没有获得控制器操作的授权,我会得到一个空白页面,没有错误消息?我想显示某种消息,这是我的设置: class MyAuth : AuthorizeAttribute{ protected override bool AuthorizeCore(HttpContextBase httpContext) { if (!httpContext.User.Identity.IsAuth
如果我没有获得控制器操作的授权,我会得到一个空白页面,没有错误消息?我想显示某种消息,这是我的设置:
class MyAuth : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        if (!httpContext.User.Identity.IsAuthenticated)
            return false;

        return MyIsCurrentUserInRoles(Roles.Split(",".ToCharArray()));
    }
}

用作

[Myauth(Roles="admin")]
class MyController: Controller
{
}

当我没有被授权时,结果是空白页?

这是默认行为吗?如果是这样,我在哪里更改它以产生不真实的消息?

解决方法

是的,这是在ASP.Net开发服务器中运行时的默认行为:

ASP.Net MVC Authorisation action filter

您可以通过编辑web.config将其重定向到页面,以包含错误401的重定向:

<customErrors defaultRedirect="ErrorPage.aspx" mode="On"> 
    <error statusCode="401" redirect="AccessDenied.aspx" />       
</customErrors>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读