ASP.NET MVC. Verifique se o usuário está autorizado a partir do JavaScript
Estou usando o ASP.NET MVC Framework 3 e Forms Authentication. Eu sei, como verificar no lado dos servidores, se o usuário está autorizado a realizar alguma ação (com[Authorize]
) e sei como verificar isso em uma ação ou exibição (comUser.Identity.IsAuthenticated
ou outros membros de 'Usuário'
O que estou tentando fazer - é definir algum código JavaScript, que será executado de maneira diferente, dependendo se o usuário estiver autorizad
Considere esse script na página:
<script>
function Foo(){
if(userAuthorized)
alert("You\'re in the system");
} else {
alert("You\'re not authorized");
}
<script>
FunctionFoo()
é acionado por algum evento, por exemplo, clique. E eu gostaria de poder verificar, se o usuário estiver autorizado, do lado dos clientes.
A melhor solução que encontrei é realmente exibir a inicialização de variáveis globais. Como isso
@if(User.Identity.IsAuthenticated)
{
<script>
var userAuthorized = true;
</script>
}
else
{
<script>
var userAuthorized = false;
</script>
}
Mas não me parece uma boa abordagem. Existem outras maneiras? Desde já, obrigado
PS: Esse é um problema de usabilidade, é claro que estou fazendo as verificações necessárias no servido