小编Ser*_*Sam的帖子

从 privateregistry 检索 Visual Studio 2017(企业)密钥

我买了一个新的 SSD,想重新安装 Windows 10 和 Visual Studio Enterprise 2017。自从我离开学校不久,我的帐户已被删除,但我的密钥仍然有效(VS 以及 Windows 10)。

我确实从注册表中检索了我的 Windows 10 密钥,但由于 VS 2017 没有将密钥存储在注册表中,而是在 privateregistry.bin 文件中,我似乎无法找到密钥本身。我得到的最接近的是在 Regedit 中添加 hive 文件并查看它。

RegEdit 显示 privateregistry 但是在注册和许可证文件夹中没有保存真正的密钥。

是否有可能从配置单元中的某个地方检索它,或者我可以只复制 privateregistry.bin 文件并在格式化后将其添加到 Appdata 文件夹中?在我确定之前我不想格式化,所以我不会丢失我的许可证。

product-key visual-studio-2017

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

在数据库中保留实体而不是 appsettings.json

我有一个项目,我使用 IdentityServer4 和 PolicyServer.Local。IdentityServer4 已经有将必要数据存储在数据库中的实现,但 PolicyServer 没有。

所以我尝试自己实现它,并取得了成功,但感觉不太好,因为我认为我正在替换大部分 PolicyServers 代码。

例如,我已经替换了所有 PolicyServers 实体类(策略、权限、角色)并添加了我自己的类,以便我可以解析列表属性,所有这些都是因为实体框架基本上无法映射列表。

我还添加了自己的 PolicyServerRuntimeClient,因为我需要将 Evaluate-Methods 调整为新的实体类。

首先是我的 Startup.cs:

        services.AddDbContext<AuthorizeDbContext>(builder => 
            builder.UseSqlite(csAuthorizeContext, sqlOptions =>
                sqlOptions.MigrationsAssembly(migrationsAssembly)));

        services.AddScoped<IAuthorizeService, AuthorizeService>()
            .AddTransient<IPolicyServerRuntimeClient, CustomPolicyServerRuntimeClient>()
            .AddScoped(provider => provider.GetRequiredService<IOptionsSnapshot<Policy>>().Value);
        new PolicyServerBuilder(services).AddAuthorizationPermissionPolicies();
Run Code Online (Sandbox Code Playgroud)

(AuthorizeService 用于从数据库中获取值)

例如,这是我的 Permission-, Roles- 并解决了 PermissionRoles-classes 的 mn 关系。

public class Permission
{
    [Key]
    public string Id { get; set; }

    [Required]
    public string Name { get; set; }

    [Required]
    [ForeignKey("Policy")]
    public string PolicyId { get; set; }

    public IList<PermissionRole> PermissionRoles { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# policy-server

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