小编Mic*_*per的帖子

JWT on .NET Core 2.0

我一直在冒险让JWT在DotNet核心2.0上工作(现在到达最终版本).有大量的文档,但是所有的示例代码似乎都在使用已弃用的API并且刚刚进入Core,它确实令人眼花缭乱地想出它应该如何实现.我尝试使用Jose,但应用程序.不推荐使用UseJwtBearerAuthentication,并且没有关于下一步操作的文档.

有没有人有一个使用dotnet core 2.0的开源项目,它可以简单地从授权头解析JWT并允许我授权HS256编码的JWT令牌?

类下面不抛出任何异常,但没有请求授权,和我没有得到任何指示,为什么他们是未经授权的.响应是空的401,所以对我来说,表明没有异常,但秘密不匹配.

奇怪的是我的令牌是用HS256算法加密的,但是我没有看到任何指示器要求它强制它在任何地方使用该算法.

这是我到目前为止的课程:

using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Net.Http.Headers;
using Newtonsoft.Json.Linq;
using Microsoft.IdentityModel.Tokens;
using System.Text;

namespace Site.Authorization
{
    public static class SiteAuthorizationExtensions
    {
        public static IServiceCollection AddSiteAuthorization(this IServiceCollection services)
        {
            var signingKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("SECRET_KEY"));

            var tokenValidationParameters = new TokenValidationParameters
            {
                // The signing key must match!
                ValidateIssuerSigningKey = true,
                ValidateAudience = false,
                ValidateIssuer = false, …
Run Code Online (Sandbox Code Playgroud)

c# jwt .net-core jose

79
推荐指数
4
解决办法
5万
查看次数

不推荐使用JedisConnectionFactory setHostName

这将是我第一次将Spring连接到Redis.jedis连接工厂的文档:http://www.baeldung.com/spring-data-redis-tutorial

提供以下代码:

@Bean
JedisConnectionFactory jedisConnectionFactory() {
    JedisConnectionFactory jedisConFactory
            = new JedisConnectionFactory();

    jedisConFactory.setHostName("localhost");
    jedisConFactory.setPort(6379);
    return jedisConFactory;
}
Run Code Online (Sandbox Code Playgroud)

看起来很棒,但我的IDE告诉我setHostName和setPort方法已被弃用(即使我使用的是教程中的版本).

我想知道是否有人使用非弃用API调用的简单"获取弹簧数据连接到redis"示例?

redis jedis spring-data

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

如何为除 /api 路由之外的所有内容设置 IIS 重写规则

我正在设置一个带有角度前端的 webapi 应用程序。我想启用 html5mode,所以 web 服务器需要有一个重写规则,将所有请求发送回索引页面。

问题是 /api 路由中的操作当然与此规则匹配,因此我的任何 REST 调用都不会通过重写规则。

我确定我不是一个人遇到这个问题。任何人都可以共享 web.config 的部分,以便我的 REST 服务正常工作并且 html5mode 不会被破坏?

asp.net-mvc iis-7 angularjs

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

get_or_create()只需1个参数(给定2个)

上次我检查过,(h)一个论点:

for entry in f['entries']:
    h = {'feed':self, 'link': entry['link'],'title':entry['title'],
         'summary':entry['summary'],
         'updated_at':datetime.fromtimestamp(mktime(entry['updated_parsed']))}

    en = Entry.objects.get_or_create(h)
Run Code Online (Sandbox Code Playgroud)

此代码失败,标题中出现错误.我可以检查什么?

python django django-models

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

所有的例程都睡着了 - 僵局

我不明白为什么在这段代码中发生了死锁.我尝试了几种不同的东西来阻止僵局(使用WorkGroup的几个不同版本).这是我在Go的第一天,到目前为止我对相当简单和直接的操作的复杂性感到非常失望.我觉得我错过了一些大而明显的东西,但是我发现的所有文档看起来都非常不同于我,这是一种非常基本的操作模式.所有文档都使用基本类型的通道(int,string)而不是更复杂的类型,所有类型都具有非常基本的for循环或者它们位于频谱的另一端,其中函数是相当复杂的编排.

我想我正在寻找一个中间的道路样本"这就是它通常如何做"与goroutines.

package main

import "fmt"

//import "sync"
import "time"

type Item struct {
    name string
}

type Truck struct {
    Cargo []Item
    name  string
}

func UnloadTrucks(c chan Truck) {

    for t := range c {
        fmt.Printf("%s has %d items in cargo: %s\n", t.name, len(t.Cargo), t.Cargo[0].name)
    }

}

func main() {
    trucks := make([]Truck, 2)

    ch := make(chan Truck)

    for i, _ := range trucks {

        trucks[i].name = fmt.Sprintf("Truck %d", i+1)

        fmt.Printf("Building %s\n", trucks[i].name)
    }

    for t := range …
Run Code Online (Sandbox Code Playgroud)

go goroutine

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

使用通过 hibernate 无法访问创建的 Google Cloud SQL (Postgres) 表

如果您使用 Hibernate 创建表,其他用户将无法访问这些表(它们归 cloudsqladmin 所有)。所有向其他用户授予权限的尝试都失败了,因此当我使用我拥有的唯一凭据(非 cloudsqladmin 用户)通过 shell 或 GUI 访问它时,除了列出中的列之外,他们无法访问这些表桌子。

通过 IAM,我已授予服务帐户访问所有权限。

例如。以 postgres 用户身份登录:

GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO postgres;

ERROR: permission denied for relation mytable

GRANT SELECT ON post to postgres;
ERROR:  permission denied for relation mytable

ALTER TABLE public.mytable OWNER to postgres;
ERROR:  must be owner of relation mytable
Run Code Online (Sandbox Code Playgroud)

我想指出的是,postgres 用户能够完全操作不是使用 hibernate 创建的表,并且 hibernate 能够完全操作数据,但不能操作我创建的其他用户。

postgresql hibernate google-cloud-sql google-cloud-platform

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

使用Spring Boot连接到Elasticsearch 6.2.3

试图弄清楚如何获得弹簧启动的工作配置以连接到Elasticsearch 6.2.3,这是我的连接代码:

pom.xml:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        <version>2.0.1.RELEASE</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我的连接代码:

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import java.net.UnknownHostException;


@Configuration
public class ElasticsearchConfig {

@Bean
public ElasticsearchTemplate elasticsearchTemplate() throws 
UnknownHostException {

    Settings settings = Settings.builder()
            .put("client.transport.sniff", true).build();

    // Can't resolve symbol "PreBuiltTransportClient" 
    TransportClient client = new PreBuiltTransportClient(settings);

    return new ElasticsearchTemplate(client);

}
Run Code Online (Sandbox Code Playgroud)

}

elasticsearch spring-boot spring-data-elasticsearch

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