【问题标题】:I want to disable requiring authentication for one MVC controller action我想禁用对一个 MVC 控制器操作的要求身份验证
【发布时间】:2014-05-12 13:05:06
【问题描述】:

我创建了一个 mvc 应用程序,我不想对我的应用程序中的一项功能进行身份验证。我希望用户应该能够在不登录的情况下从 URL 打开页面。现在,如果我输入 URL 以直接打开该功能,那么它将带我进入登录页面。我想在一项功能中绕过身份验证过程。 我在 web.config 中尝试了以下代码。

<location path="ControllerName">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

我还在控制器的某些操作中添加了 [AllowAnonymous] 属性。

我在 web.config 中为身份验证编写的以下代码。

<modules runAllManagedModulesForAllRequests="true">
    <remove name="FormsAuthentication"/>

    <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/>

    <remove name="AuthorisationModule"/>

    <add name="AuthorisationModule" type="ProjectName.AuthorisationModule(which is for autentication), Project Name"/>
</modules>

【问题讨论】:

  • 这不是在这里提问的好方法。到目前为止,您是否尝试过任何方法来解决您的问题?首先展示你的努力,这样人们才能展示他们的努力。请阅读FAQHow to Askhelp center
  • 看看你的问题......忘记你所知道的......现在问自己'我能从我提供的信息中理解这个人试图实现什么吗?'。
  • 是的,您可以将用户设置为在代码中经过身份验证,例如打开秘密网址时。请记住,这是通过默默无闻的安全性,这很糟糕stackoverflow.com/questions/1439746/…
  • 类似问题在这里得到解答:stackoverflow.com/questions/10087815/….
  • 我已正确编辑问题。现在有人可以帮我解决这个问题吗?

标签: c# asp.net


【解决方案1】:

整个应用程序都有一个身份验证,我想放弃对我的 mvc 应用程序的一个功能的身份验证。所以我在我的 web.config 中添加了以下代码

<location path="ControllerName">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
     </system.web>
 </location>

所以使用此代码可以正常工作。

【讨论】:

    【解决方案2】:

    可能对您的问题有所帮助的事实是,您可以拥有多个 web.config 文件——如果您将 web.config 放在项目的子目录中,那么您可以仅包含特定于该子目录的配置选项。因此,您可能想尝试添加一个子文件夹以仅包含您想要公开使用的控制器,然后创建一个单独的 web.config 文件以允许对该子目录进行开放访问。根据this answer regarding wildcards in web.config files,这里的示例代码应该足以作为独立的 web.config 来提供

    <?xml version="1.0"?>
    <configuration>
        <system.web>
            <authorization>
                <deny users="*"/>
            </authorization>
        </system.web>
    </configuration>
    

    这样您就不必费心指定要授予访问权限的一个控制器或操作,因为目录结构中文件的组织方式会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-10
      • 2013-05-05
      • 2014-12-26
      • 2014-08-06
      • 2018-01-26
      • 2018-10-24
      • 1970-01-01
      • 2014-04-16
      相关资源
      最近更新 更多