ASP.NET MVC.检查用户是否已获得JavaScript授权

我正在使用ASP.NET MVC Framework 3和Forms Authentication.我知道,如何检查服务器端,如果用户被授权进行某些操作(使用[授权])并且我知道,如何在操作或视图中检查这一点(使用User.Identity.IsAuthenticated或其他成员’用户’).

我正在尝试做的是定义一些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:这是一个可用性问题,当然我正在对服务器进行必要的检查.

解决方法

我喜欢@Gaby评论中的想法,但我不确定这是否可行,因为我没有全面了解你的项目.

至少你可以通过做…来简化你的代码

<script>
  var userAuthorized = @User.Identity.IsAuthenticated.ToString().ToLower();
</script>

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....