Adicionando papéis de uma tabela de banco de dados
Pergunta
Alguém pode me exaltar como gerar dinamicamente a função de uma tabela DB em vez de codificá -la no código.
ClaimsIdentity outputIdentity = new ClaimsIdentity();
outputIdentity.Claims.Add(new Claim(System.IdentityModel.Claims.ClaimTypes.Name, principal.Identity.Name));
outputIdentity.Claims.Add(new Claim(ClaimTypes.Role, "Manager"));
outputIdentity.Claims.Add(new Claim(ClaimTypes.Country, HttpUtilities.GetProgramIdentifierFromUrl()));
return outputIdentity;
Solução
Como você está armazenando seus papéis? Presumo que seja algo parecido com:
Create Table Roles
(
RoleId int identity(1,1) Not Null,
RoleName varchar(50) not null
)
Por que você não consulta o banco de dados para buscar o Roleid e, em seguida, usa o resultado da consulta em sua atualização.
Um usuário não teria selecionado a função em algum lugar nesse processo? Você não pode pegar o ID ou o Rolename para a seleção inicial?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow