小编tol*_*lga的帖子

为什么在Symfony 4中使用相同的盐和密码调用encodePassword()会产生不同的哈希值?

UserPassword 编码器中

public function encodePassword(UserInterface $user, string $plainPassword)
{
    $encoder = $this->encoderFactory->getEncoder($user);
    return $encoder->encodePassword($plainPassword, $user->getSalt());
}
Run Code Online (Sandbox Code Playgroud)

编码器从用户实体获取帮助。

我为getSalt()in User实体设置了一个静态变量:

public function getSalt()
{
    return 'my-static-salt';
}
Run Code Online (Sandbox Code Playgroud)

但是当我编码时:

$password  = $encoder->encodePassword($user, "my-password");
$password2 = $encoder->encodePassword($user, "my-password");
Run Code Online (Sandbox Code Playgroud)

$password$password2彼此不同的,因为如果该encodePassword()方法使用随机盐。

我想念什么?

php password-hash symfony symfony4

3
推荐指数
1
解决办法
93
查看次数

Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.NpgsqlOptionsExtension 类型中的方法“get_Info”没有实现

刚接触 .Net Core,我从 WebApi 开始。

我尝试将我的第一个模型迁移到 PostgreSQL 数据库。UserModel、UserContext 和 PostgreSQL 设置已准备就绪。当我:

dotnet ef migrations add initial
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Method 'get_Info' in type 'Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.NpgsqlOptionsExtension' from assembly 'Npgsql.EntityFrameworkCore.PostgreSQL, Version=2.1.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' does not have an implementation.
Run Code Online (Sandbox Code Playgroud)

这是我的包裹:

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.8">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0" />
<PackageReference Include="NpgSql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.1" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

dotnet --version:

dotnet --version
5.0.100-preview.2.20176.6
Run Code Online (Sandbox Code Playgroud)

我错过了什么?这是包版本不一致吗?谢谢你。

.net c# asp.net-core

3
推荐指数
1
解决办法
911
查看次数

获取Django中序列化程序保存的对象的最后一个插入ID

我有一个visitorSaveSerializer,它负责验证要保存的数据:

class VisitorSaveSerializer(serializers.ModelSerializer):

class Meta:
    model = Visitor
    fields = ('gsm', 'email', 'firstname', 'lastname')
Run Code Online (Sandbox Code Playgroud)

问题是:

visitor_serializer = VisitorSaveSerializer(data={...related data here...})
    if visitor_serializer.is_valid():
        visitor_serializer.save() 
        visitor_id = visitor.serializer.data.get("id", 0) // Fails for sure.
Run Code Online (Sandbox Code Playgroud)

好的,我知道 id 不在序列化程序字段中,所以最后一行失败了。

当我需要获取最后插入的 id 时,我应该如何保存对象?

python django python-3.x

2
推荐指数
1
解决办法
33
查看次数

Docker 上的 Redis:连接到 0.0.0.0:6379 时出现错误 111。连接被拒绝

Python 和 Redis 在我的本地运行良好。我尝试将项目 Docker 化。

当我docker-compose up时,redis 容器工作正常。

> Server initialized
> Ready to accept connections
Run Code Online (Sandbox Code Playgroud)

但是当我在 POSTMAN 中调用请求时,出现以下错误:

Error 111 connecting to 0.0.0.0:6379. Connection refused.
Run Code Online (Sandbox Code Playgroud)

我的设置:

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://0.0.0.0:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的 docker-compose.yml:

redis:
    image: bitnami/redis:latest
    volumes:
      - ./redis.conf:/usr/local/etc/redis/redis.conf
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    ports:
      - "6379:6379"
Run Code Online (Sandbox Code Playgroud)

...以及在 Dockerfile 中:

ENV REDIS_URL=redis://0.0.0.0:6379/1
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

python django redis docker

2
推荐指数
1
解决办法
3666
查看次数

将图像/图标添加到 Chart.js 中的特定坐标

是否可以将特定图像/图标添加到折线图中的特定坐标?这些点可能与线点不同。

我搜索了很多,但除了自定义工具提示内容样式之外我找不到任何其他内容。

我想在某些点上添加星星或类似的形状来指示特殊事件。

javascript css chart.js

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

将 api 路由到 Laravel 中的控制器

我想创建一个自定义的公共 API;并使用如下路由应答 ApiController 下的所有 api 请求:

Route::resource("/api","ApiController");
Run Code Online (Sandbox Code Playgroud)

我尝试将其添加到routes/web或routes/api下;但没有机会。我收到“抱歉..未找到页面”。

路线/网络下的其他路由选项工作正常;我只在 /api 方面遇到问题。

我应该继续使用 /custom_public_api 这样的路线还是我可以对此做些什么?

php laravel laravel-5

0
推荐指数
1
解决办法
4955
查看次数

在Angular 6中导入时刻

我用角6进口了一下:

import moment from 'moment'
Run Code Online (Sandbox Code Playgroud)

let formatted = moment(startDate).tz(timezone).format();
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常...但ng服务输出以下错误:

Module '"/my/project/node_modules/moment/moment"' has no default export.
Run Code Online (Sandbox Code Playgroud)

好的,我理解这个错误; 它说那个时刻不会被导出为默认值...但是当我尝试以这种方式导出时:

import { moment } from 'moment'
Run Code Online (Sandbox Code Playgroud)

但是,错误说,那个时刻实际上是一个对象,而不是一个功能.

它的第一步是如何工作的呢?我应该如何导入"时刻"?

更新 我也按照其他问题的建议尝试了......

import * as moment from 'moment';
Run Code Online (Sandbox Code Playgroud)

但是我得到了以下结果:

ERROR in node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.
node_modules/angular-moment-timezone/node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.
Run Code Online (Sandbox Code Playgroud)

javascript momentjs angular

0
推荐指数
1
解决办法
3392
查看次数