Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexandremanowar

[Resolvido] CreateUserWizard asp.net

Recommended Posts

Boa tarde

 

Pessoal estou estudando asp.net estudei alguns links para usar a framework na criação de usuário e acessos, na minha aplicação acessei o Administration tools e criei 3 roles e adicionei algumas configurações de permissão, no meu aplicativo usei a opção CreateUserWizard para criar os ususários, esta salvando os usuários normalmente, mas sem a role, logo ao criar os usuários eu gostaria de já escolher a role dele, porque da forma que esta eu preciso acessar a Administration tools e adicionar manualmente, como eu faço para as roles aparecer no meu form que é gerado pelo CreateUserWizard em um DropDownList? Cada usuário terá direito a uma única role que eu quero escolher na hora que estou cadastrando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde

Pessoal persquisando em alguns links na web achei uma forma de criar o que citei acima e consegui fazer, fiz o seguinte adicionei um checkboxlist no form abaixo dos campos senhas, logo no form fica, usuário, senha, roles e as frases. Esta funcionando legal, sendo que tive que adicionar o seguinte código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //Preenchendo o CheckBoxList (CBL) com as Roles existentes
            loadRoles();
        }
    }
    private void loadRoles()
    {
        //Limpando o CBL
        CheckBoxList cbl1 = (CheckBoxList)this.CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("CheckBoxList1");
        cbl1.Items.Clear();
        //Executando um Loop nas Roles da aplicação e adicionando ao CBL
        foreach (string role in Roles.GetAllRoles())
        {
            cbl1.Items.Add(role);
        }
    }
    protected void CreateUserWizard1_CreatedUser1(object sender, EventArgs e)
    {
        TextBox tbUser = (TextBox)this.CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName");
        CheckBoxList cbl1 = (CheckBoxList)this.CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("CheckBoxList1");
        //Adicionando as Roles selecionadas ao usuário recém criado
        addUserToRoles(cbl1, tbUser.Text.ToString());
    }
    private void addUserToRoles(CheckBoxList ctl, string usr)
    {
        ArrayList rTemp = new ArrayList();
        string[] roles = null;
        for (int i = 0; i <= ctl.Items.Count - 1; i++)
        {
            if (ctl.Items[i].Selected)
            {
                rTemp.Add(ctl.Items[i].Text);
            }
            roles = (string[])rTemp.ToArray(typeof(string));
        }
        Roles.AddUserToRoles(usr, roles);
    }
}

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.