Я использую ASP.NET MVC Framework 3 и проверку подлинности с помощью форм. Я знаю, как проверить на стороне сервера, если пользователь авторизован для какого-либо действия (с [Authorize]
), и я знаю, как проверить это в действии или представлении (с User.Identity.IsAuthenticated
или другими членами 'User' ).
Что я пытаюсь сделать - это определить некоторый код JavaScript, который будет выполняться по-разному, в зависимости от того, авторизован ли пользователь.
Рассмотрим такой скрипт на странице:
<script>
function Foo(){
if(userAuthorized)
alert("You\'re in the system");
} else {
alert("You\'re not authorized");
}
<script>
Функция Foo()
вызывается некоторым событием, скажем, щелчком. И я хотел бы иметь возможность проверить, авторизован ли пользователь, на стороне клиента.
Лучшее решение, которое я придумал, - это визуализация инициализации глобальных переменных. Как это:
@if(User.Identity.IsAuthenticated)
{
<script>
var userAuthorized = true;
</script>
}
else
{
<script>
var userAuthorized = false;
</script>
}
Но это не кажется мне хорошим подходом. Есть ли другие способы?
Заранее спасибо.
PS: Это проблема удобства использования, конечно, я делаю необходимые проверки на сервере.