我买了一个新的 SSD,想重新安装 Windows 10 和 Visual Studio Enterprise 2017。自从我离开学校不久,我的帐户已被删除,但我的密钥仍然有效(VS 以及 Windows 10)。
我确实从注册表中检索了我的 Windows 10 密钥,但由于 VS 2017 没有将密钥存储在注册表中,而是在 privateregistry.bin 文件中,我似乎无法找到密钥本身。我得到的最接近的是在 Regedit 中添加 hive 文件并查看它。
是否有可能从配置单元中的某个地方检索它,或者我可以只复制 privateregistry.bin 文件并在格式化后将其添加到 Appdata 文件夹中?在我确定之前我不想格式化,所以我不会丢失我的许可证。
我有一个项目,我使用 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)