Desenvolvi meu próprio modelo de segurança baseado nos Providers do Membership e Roles.
Nas telas de cadastro eu verifico se o usuário pode ou não fazer o insert ou só visualizar os registro, quando só pode ver os registros eu escondo a aba (TabPanel do Ajax) do cadastro só deixando a aba de busca aberta:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!Roles.IsUserInRole("CADASTRO_TREINAMENTO"))
{
tbCadastro.Visible = false;
tbCadastro.Enabled = false;
}
}
}
O problema esta sendo quando o pessoal começa a usar o sistema em modo de produção, eles conseguem fazer alguns cadastros, só que tem momentos que parece que o usuário perde seus privilégio e o sistema esconde a aba de cadastro e para tudo de funcionar
Outra problema é que as vezes quando o usuário loga no sistema, o sistema não traz as telas de cadastro que ele pode acessar, esconde tudo (Web.sitemap)
Alguém já possou por isso?