last day (57 days later) » 

5:26 PM
Eai @RenanCarlos
 
Opa..
Tenho algumas outras dúvidas referente a lógica de implantação de Roles.
No Caso eu estou usando Identity. Acha que precisaria de Criar um "Area" para isso gerenciamento de Roles, etc... E para salvar no Banco as roles que quero criar. Qual método do Identity eu altero ?
@jbueno
 
Roles.AddRole
pra adicionar uma role no banco
> Acha que precisaria de Criar um "Area" para isso gerenciamento de Roles, etc
Depende das suas regras de negócio, não sei como você tá imaginando o sistema
Se for uma coisa simples pode ser só uma seçãozinha da aplicação mesmo, sem precisar criar uma área
 
O que eu imagino é assim: Tenho um controller Admin. Com acesso reservado a Admins. Dentro dele, a opção de tornar um usuario Admin.
Quando for acessar por exemplo Https://MinhaAPlicacao.com.br/Admin uma pagina de login que faça a verificação, de login e senha.
@jbueno
 
5:42 PM
Aí você poderia fazer uma aplicação diferente
Tipo, uma aplicação pra ser a parte pra usuários normais e outra pra ser a aplicação admin
Claro, isso se levar em consideração que os admins vão ter muitas coisas a fazer
Se for cadastrar novos usuários, você consegue trabalhar do jeito que falou mesmo
Criar um controller Admin e ir trabalhando dentro dele mesmo
 
O Admin só terá que fazer publicações, pra alimentação. É tipo um Blog. Ele não cadastrará usuarios, eles mesmo farão isso, atraves de email e senha ou facebook, twitter etc..
@jbueno
 
Ah, entendi
O Admin só vai tornar outros usuários admins
 
E publicar. "Noticias". Que no caso são, projetos de leis municipais
 
Acho que aí você consegue trabalhar só tendo uns controllers com acesso separado mesmo
Não precisa de tanta firula
 
Os usuarios poderam votar nessas leis, fazer comentarios.
As firulas que fala, é usar Areas ? ou outras coisas? Da forma que falei, você vê que é a forma mais simplista de fazer ?
@jbueno
 
5:59 PM
@RenanCarlos Isso. Acho que é mais simples você trabalhar negando acesso a alguns controllers mesmo
Não tem porquê ficar criando áreas ou até mesmo outra aplicação já que é tão pouca coisa
 
 
2 hours later…
8:25 PM
@jbueno Estou com dificuldade pra começar. Rs, Por exemplo. Eu tenho uma View Create Dentro de um controller chamado "Publicacao", onde apenas o usuario com acesso admin pode acessa-la
 
Prossiga...
 
Como eu faço pra deixar somente o usuario, com admin acessa-la
?
 
:35770411 Use o atributo [Authorize]
 
gist: 8616336c1579fbcd90632c0143626855, 2017-03-01 20:30:10Z
 [Authorize(role="Admin")]
 public async Task<ActionResult> Create()
        {
            ViewBag.autor = await db.Autor.ToListAsync();
            return View();
        }
Algo assim?
 
Não
[Authorize(Roles = "Admin")]
Tem que passar o parâmetro Roles pro atributo
Se você só colocar o atributo, quer dizer que o usuário precisa estar autenticado
Ou seja, qualquer usuário pode ver (desde que tenha feito login)
 
8:31 PM
Certo, a tinha feito a edição com o atributo.
 
Se você passar o parâmetro Roles, vai estar restringindo o acesso apenas àqueles que têm as roles
 
Beleza, com isso eu terei de mexer no Web Config. Estilo o forms authentication ?
 
Sempre separado por vírgulas as roles, aliás
@RenanCarlos Não.
 
Certo, entendi essa parte
Agora pra criar um usuário como Admin. teria de fazer um método separado pra usar somente com os usuarios que forem admin?
 
@RenanCarlos Como assim?
 
8:40 PM
Como eu digo para o sistema que o usuario é um Admin?
 
No banco tem uma tabela AspNetRoles, né?
Lá vão ficar as roles que você criar
Aí você tem que vincular o usuário com a role pela tabela AspNetRolesUsers (ou algo assim - acabei de formatar meu pc e não tenho nenhum exemplo aqui)
Você vai ter o UserManager do Indentity que já te dá isso praticamente pronto
UserManager.AddToRole(usuario.Id, "Admin");
 
Entendi, vou tentar fazer hoje a noite isso. Vou pesquisar com essas coisas que me falou pra ver se consigo. impelementar
 
Beleza.
qualquer dúvida mais técnica pode me perguntar
 
Beleza... valeu.
 
tem mta coisa que depende só de como você pretende fazer, nesses casos o máximo que posso fazer é te dar uma dica
até mais!
 
8:53 PM
Sim, isso é o que mais vejo como complicação, a forma de fazer, a lógica, onde posso inserir, e por aí vai. Você tem me ajudado bastante, espero um dia poder retribuir, nem que seja pagando uma cerveja. rs
 

  last day (57 days later) »