Este documento tem como objetivo auxiliar na implantação do Tecsystem Policy Server.
O Tecsystem Policy Server é o projeto responsável por gerenciar as permissões e os perfis dos usuários. Através dele a solução que for utiliza-lo poderá buscar, inserir, excluir e alterar as permissões dos usuários.
Obs: No momento o projeto apenas lê as permissões e retorna um dicionário com os dados.
O projeto pode ser acessado através de um repositório no Github. tecsystem-policyserver
• Faça o clone do repositório em um local da sua máquina.
git clone https://github.com/tecsystemsw/tecsystem-policyserver.git
• Adicione o projeto a solução desejada.
• Nas dependências do projeto adicione o projeto Tecsystem.PolicyServer.
• Modifique a classe Startup.cs
services.AddEntityFrameworkSqlServer()
.AddDbContext<ContextoPadrão>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
sqlServerOptionsAction: sqlOptions =>
{
sqlOptions.MigrationsAssembly(typeof(ContextoPadrão).GetTypeInfo().Assembly.GetName().Name);
sqlOptions.EnableRetryOnFailure(maxRetryCount: 10, maxRetryDelay: TimeSpan.FromSeconds(30), errorNumbersToAdd: null);
});
},
ServiceLifetime.Scoped
)
.AddDbContext<PolicyServerDbContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
sqlServerOptionsAction: sqlOptions =>
{
sqlOptions.MigrationsAssembly(typeof(PolicyServerDbContext).GetTypeInfo().Assembly.GetName().Name);
sqlOptions.EnableRetryOnFailure(maxRetryCount: 10, maxRetryDelay: TimeSpan.FromSeconds(30), errorNumbersToAdd: null);
});
},
ServiceLifetime.Scoped
);
services.AddScoped<IPolicyRepository, PolicyRepository>();
services.AddScoped<IPolicyService, PolicyService>();
• Execute a migration para atualizar o banco de dados.
update-database -Context PolicyServerDbContext
• No arquivo Program.cs, no método de configuração do banco de dados adicione as seguintes linhas.
var dbContextPolicy = services.GetService<PolicyServerDbContext>();
await dbContextPolicy.Database.MigrateAsync();
Pronto! Feito isso sua aplicação já estará funcionando como o Tecsystem Policy Server.
A estrutura do projeto é bem simples, consiste em cinco diretórios e uma classe de contexto.
Os diretórios são: