如何解决ASP.NET MVC检查用户是否受JavaScript授权
| 我正在使用ASP.NET MVC Framework 3和表单身份验证。我知道如何在服务器端检查用户是否被授权执行某些操作(使用“ 0”),并且我知道如何在操作或视图(使用“ 1”或\'User \'的其他成员)内进行检查。 我正在尝试做的-定义一些JavaScript代码,具体取决于用户是否获得授权,这些代码将以不同的方式执行。 考虑页面上的此类脚本:<script>
function Foo(){
if(userAuthorized)
alert(\"You\\\'re in the system\");
} else {
alert(\"You\\\'re not authorized\");
}
<script>
功能“ 3”由某个事件触发,例如单击。而且,我希望能够在客户端检查用户是否被授权。
我想出的最好的解决方案是在视图中实际呈现全局变量的初始化。像这样:
@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>
,另外两个选择是使用自定义HTML数据属性或创建一个简单的ajax请求,询问服务器是否对用户进行了身份验证。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。