zoukankan      html  css  js  c++  java
  • 公共的Controler,是给非授权的用户访问

    issue:

    我使用的环境是Vs2012 , 创建了MVC4的工程,然后在工程里面Webconfig, 添加了访问限制

        <authentication mode="Forms">       <forms loginUrl="~/Account/Login" timeout="2880" />     </authentication>

        <authorization>       <deny users="?" />       <allow users="*" />     </authorization>

    设置所有访问都拒绝匿名访问,只有授权用户才能访问,非授权的访问会跳转到登录页面 ~/Account/Login 

    然后问题是,我想加一个公共的Controler,是给非授权的用户访问,我给那个Controler加上

    [AllowAnonymous] 属性,允许匿名,但是很奇怪,所有访问这个匿名的Controler还是会跳转到Login,除非你登录了授权,才可以打开这个匿名的控制器,这个[AllowAnonymous]完全不起作用。

    solution:

    在BaseControler里面加一个[Authorize],所有要验证的页面都继承BaseControler, 不需要验证的就不继承。然后将WebConfig的权限控制限制去掉。

    备注:

      使用AllowAnonymous属性是用来跳过授权的 Authorize attribute 执行。标有使用AllowAnonymous操作方法始终可以访问所有用户,包括匿名用户。一般下面这三个特性是伴随着使用的:    

            AuthorizeAttribute:表示一个特性,该特性用于限制调用方对操作方法的访问。

            AllowAnonymousAttribute表示一个特性,该特性用于标记在授权期间要跳过 AuthorizeAttribute 的控制器和操作。

            InitializeSimpleMembershipAttribute:这个特性是来初始化数据库成员关系的,后面会讲到。

            请查看这个链接了解详细信息:  Asp.net Mvc4默认权限详细

  • 相关阅读:
    metasploit--multi/samba/usermap_script
    msfcli 不能使用,在新版metasploit不再有效,推荐使用msfconsole
    test.fire渗透测试
    metasploit服务扫描与查点
    Synchronized底层实现
    正在使用的IDEA插件
    JavaWeb
    设计模式
    MySQL
    计算机网络
  • 原文地址:https://www.cnblogs.com/happy-Chen/p/3607190.html
Copyright © 2011-2022 走看看