Fórum Problema com perfil #15709
14/02/2010
0
Ademilso Peres
Curtir tópico
+ 0Posts
17/02/2010
Fabio Mans
Obrigado.
Fabio
Gostei + 0
18/02/2010
Fabio Mans
Gostei + 0
20/02/2010
Ademilso Peres
Gostei + 0
24/02/2010
Fabio Mans
Gostei + 0
26/02/2010
Ademilso Peres
Gostei + 0
26/02/2010
Fabio Mans
if (User.IsInRole("Gerete"))
{
//Faz alguma coisa
}
Pelo que eu estou vendo você está dando permissão para todos no Web.Config
Separe por pastas.
Por exemplo, caso queira que só gerentes acesse, crie uma pasta e coloque um Web.Config nesta pasta como no exemplo abaixo.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Gerente" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
Assim resolvemos o problema de ver sem permissão, sobre a abertura da página quem controla isso é o ASP.NET, veja em negrito
http://localhost:6859/GrupoSBF.Endocom.AgenteComunicacao/Autenticacao.aspx?ReturnUrl=%2fGrupoSBF.Endocom.AgenteComunicacao%2fDefault.aspx.
Caso queira fazer manualmente, segue um exemplo.
//se o usuário acessou diretamente Login.aspx transfere
//a aplicação para Default.aspx
string urlRedirecionamento;
if (Request.QueryString["ReturnURL"] == null)
{
urlRedirecionamento = "~/Default.aspx";
}
else
{
urlRedirecionamento = Request.QueryString["ReturnURL"].ToString();
}
Response.Redirect(urlRedirecionamento);
Fabio
Gostei + 0
08/03/2010
Ademilso Peres
Gostei + 0
08/03/2010
Fabio Mans
<system.web>
<authorization>
<allow roles="Agente" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
Gostei + 0
09/03/2010
Ademilso Peres
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="Default.aspx" title="Menu Principal">
<siteMapNode siteMapFile="Representante.sitemap"/> <siteMapNode siteMapFile="Diretor.sitemap"/>
<siteMapNode siteMapFile="AdmVendas.sitemap"/>
<siteMapNode siteMapFile="Vendedor.sitemap"/>
<siteMapNode siteMapFile="Gerente.sitemap"/>
<siteMapNode siteMapFile="Especialista.sitemap"/>
<siteMapNode siteMapFile= "Administrador.sitemap"/>
</siteMapNode>
</siteMap>
arquivo administrador.sitemap <?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="Administrador">
<siteMapNode url="UsuarioListar.aspx" title="Usuário"/> <siteMapNode url="TrocarSenha.aspx" title="Trocar Senha" description="" />
<siteMapNode url="Camadas.aspx" title="Camadas" description="" />
<siteMapNode url="~\Administrador\CamadaPadrao.aspx" title="Camada padrão"/>
<siteMapNode url="ImportarMaterialMaster.aspx" title="Determinar Reference Price" description="" />
<siteMapNode url="Impostos.aspx" title="Impostos"/>
<siteMapNode url="Deflator.aspx" title="Deflator"/>
<siteMapNode url="VerificarControle.aspx" title="Verificar Controle"/> <siteMapNode url="SBF.aspx" title="SBF" description="" />
<siteMapNode url="Equipamento.aspx" title="Equipamento" description="" />
<siteMapNode url="UnidadeBasica.aspx" title="Unidade básica" description="" />
<siteMapNode url="ConfiguracaoProduto.aspx" title="Configuração de produto" description="" />
<siteMapNode url="AcessoriosExtras.aspx" title="Acessorios Extras" description="" />
<siteMapNode url="OportunidadeListar.aspx" title="Oportunidade" description="" />
<siteMapNode url="ImprimirProposta.aspx" title="Imprimir proposta" description="" />
<siteMapNode url="PropostasEnviadas.aspx" title="Propostas enviadas" description="" />
</siteMapNode>
</siteMap> public static SiteMapDataSource GetSiteMapDataSource(string profile) { // varivel para armazenar a URL do n principal do menu string URL = String.Empty; // define a URL de acordo com o parmetro PROFILE URL = profile; // cria o objeto XmlSiteMapProvider que ser utilizado para construir // o SiteMap dinamicamente. XmlSiteMapProvider xmlSiteMap = new XmlSiteMapProvider(); System.Collections.Specialized.NameValueCollection MySiteMap = new System.Collections.Specialized.NameValueCollection(1); MySiteMap.Add("siteMapFile", "Web.sitemap"); // inicializa o novo objeto SiteMapProvider xmlSiteMap.Initialize("MyProvider", MySiteMap); xmlSiteMap.BuildSiteMap(); // cria o DataSource para o objeto SiteMap SiteMapDataSource siteMap = new SiteMapDataSource(); // atribui o n principal de acordo com o perfil do usurio siteMap.StartingNodeUrl = URL; // oculta o n principal (opcional) siteMap.ShowStartingNode = false; // retorna o objeto para o procedimento de chamada return siteMap; }
Gostei + 0
09/03/2010
Ademilso Peres
Gostei + 0
09/03/2010
Fabio Mans
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/" title="" description="">
<siteMapNode url="~/Default.aspx" title="Agente de comunicação" description="Página principal" />
<siteMapNode url="~/Publicador/CadastrarAgente.aspx" title="Agentes" description="Consultar, excluir e cadastrar agentes ou publicadores" roles="Publicador" />
<siteMapNode url="~/Publicador/CadastrarPublicacao.aspx" title="Cadastrar publicação" description="Novas publicações" roles="Publicador" />
<siteMapNode url="~/Publicador/ObterPublicacoes.aspx" title="Publicações (Publicador)" description="Lista com todas publicações ativas" roles="Publicador" />
<siteMapNode url="~/Agente/ObterAgentePublicacoes.aspx" title="Publicações" description="Lista com todas publicações ativas" roles="Agente" />
</siteMapNode>
</siteMap>
Você coloca a roles no menu, assim apareceu ou não, dependendo do perfil
No Web.Config configure como no exemplo abaixo.
<siteMap defaultProvider="Agente_SiteMapProvider" enabled="true">
<providers>
<add name="Agente_SiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true" siteMapFile="Web.sitemap"/>
</providers>
</siteMap>
Estude sobre os ítens em negrito, são interessantes.
Gostei + 0
15/03/2010
Fabio Mans
Gostei + 0
16/03/2010
Ademilso Peres
Gostei + 0
16/03/2010
Fabio Mans
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)