Skip to content

问题答疑

一些问题答疑。如果您有什疑惑,可以反馈给我。帮助丰富这份文档。

1、发布后,登录显示“未授权”.Request failed with status code 403

问题原因:由于部署环境默认production,但是并未配置功能相关的接口,导致验证接口权限失败

C#
//校验用户是否有接口权限
if (_hostEnvironment.IsProduction())
{
    var endpoint = httpContext.GetEndpoint() as RouteEndpoint;
    var pattern = endpoint?.RoutePattern;
    var interfaces = await _currentUser.GetInterfacesAsync();
    var isAllow = interfaces.Any(x => x.Path == pattern?.RawText && x.RequestMethod.Equals(httpContext.Request.Method, StringComparison.CurrentCultureIgnoreCase));
    if (!isAllow)
    {
        context.Fail();
        return;
    }
}

解决办法:如果您不需要精确控制接口权限,可使用其他模式发布。如果需要接口权限,请使用其他模式部署,并进入功能管理-绑定接口,绑定完毕之后重新使用production模式

LGPL-3.0 License.