使用[authorization]关键字是ASP.. NET MVC控制器阻止脚本代码运行



我的JavaScript包含在我的ASP中的脚本标签中。. NET MVC运行得很好,但是,如果我在控制器中添加了Authorize关键字,JavaScript就不会运行。不幸的是,我在网上没有找到任何关于这个问题的参考资料。

这是我的控制器:

namespace PROJECT.Controllers
{
   [Authorize]
   public class HomeController : Controller
{

如果我在特定控制器方法上添加Authorize关键字,而不是像上面那样普遍地添加,也会出现同样的问题。我不确定如何使用授权键,或替代,并使JavaScript运行。

当您用AuthorizeAttribute标记操作方法时,对该操作方法的访问仅限于经过身份验证和授权的用户。如果用该属性标记控制器,则控制器中的所有操作方法都受到限制。在标有AuthorizeAttribute属性的控制器中,您可以使用AllowAnonymousAttribute属性来指定特定的操作方法不限于授权用户。

Authorize属性允许您指示授权仅限于预定义的角色或单个用户。使用RolesUsers属性指定允许哪些角色或用户访问操作方法。这使您可以高度控制谁被授权查看站点上的任何页面。如果未经授权的用户试图访问带有Authorize属性的方法,MVC框架将返回401 HTTP状态码。如果站点配置为使用ASP。. NET表单身份验证时,401状态码导致浏览器将用户重定向到登录页面。

MSDN来源。

最新更新