微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐