小编Cal*_*son的帖子

有条件地忽略授权.NET Core 3.1

我正在将 Web API 从 .net Framework 迁移到 .net Core。如果应用程序在专用服务器上运行,旧版本能够忽略控制器上的授权属性。这是代码。我知道 .net core 3.1 不提供自定义 AuthorizeAttributes。这不是我的问题。

// A custom AuthroizeAttribute
public class ConditionalAuthorizeAttribute : AuthorizeAttribute
{

    protected override bool IsAuthorized(HttpActionContext httpContext)
    {
        if (environment_private())
            return true;
        else
            return base.IsAuthorized(httpContext);
    }


    private bool environment_private()
    {
        // code that will tell you if you are in your dev environment or not
        return Properties.Settings.Default.PrivateServer;
    }
}

// How it was called from the controller
[ConditionalAuthorize(Roles = "MyRole")]
[Route(...)]
// More code for controller
Run Code Online (Sandbox Code Playgroud)

我只需要一种简单的方法来授权在我们的私人服务器上运行项目时的所有请求(由 …

c# authorize .net-core

5
推荐指数
1
解决办法
1592
查看次数

在 Flutter 中使用“已弃用的代码”有什么后果?

我最近升级到了 Flutter 2.0。我有几十个现在已弃用的 Flatbutton。我需要几天时间才能把它们全部修好。在此之前发布带有弃用警告的更新会产生什么后果?该应用程序仍然可以正常构建和运行。

deprecated dart deprecation-warning flutter

5
推荐指数
1
解决办法
5762
查看次数

可选链接打字稿上的对象可能是“未定义”错误

我有一个正在访问的响应:data?.currentOrganization?.onboardingSteps?。您可以猜到,data、currentOrganization 和 onboardingSteps 可能都为 null。我想分配一个变量如下:

const hasSteps = data?.currentOrganization?.onboardingSteps?.length > 0;

我认为如果任何字段为空或少于 1 个步骤,hasValue 将评估为 false。但是,我收到了 TypeScript 错误:Object is possibly 'undefined'.

这就是我目前解决它的方式:

const hasSteps =
  data?.currentOrganization?.onboardingSteps != null &&
  data?.currentOrganization?.onboardingSteps?.length > 0;
Run Code Online (Sandbox Code Playgroud)

这感觉不必要地冗长。有没有替代的,更优雅的解决方案?

javascript boolean typescript optional-chaining

4
推荐指数
1
解决办法
981
查看次数