【问题标题】:Authenticating The URL in ASP.NET MVC对 ASP.NET MVC 中的 URL 进行身份验证
【发布时间】:2018-12-01 17:06:16
【问题描述】:

我正在用 asp.net MVC(网络应用程序)做一个项目。我对此有疑问。请帮帮我。

例如: 我有一个“LOGIN”页面作为我的第一页,另外两个页面名为“Home”, '关于'。

当我在 ISS Express 中启动我的应用程序时,它会加载“Localhost:12345”。

即。登录页面。

然后当我点击“登录”按钮 -> 主页 (Localhost:12345/Home)

当我点击“关于”链接时 -> 关于页面 (Locahost:12345/About)

我的问题是:

当我在浏览器中直接给出 (Locahost:12345/About) 的 URL 时,它会直接加载到关于页面而不询问登录。

如果有其他 URL 名称(主页或关于页面),我需要将我的 URL 重定向到登录页面。只有在主页(登录页面)之后,我才需要通过单击相应的按钮转到其他页面。

实现这个概念的正确方法是什么?

任何人,请帮助我。

【问题讨论】:

  • 您是否尝试过阅读一两个关于身份验证和授权的教程?这是非常基本的功能。您需要在不希望未经身份验证的用户访问的控制器上具有 [Authorize] 属性。

标签: c# asp.net-mvc authentication url-redirection


【解决方案1】:

您需要将 [Authorize] 属性添加到通过身份验证后要加载的控制器。

【讨论】:

    【解决方案2】:

    您可以使用简单的表单身份验证。在您的操作方法中对用户进行身份验证后,只需添加FormsAuthentication.SetAuthCookie(username, false);,在您的 web.config 中添加以下内容

    <authentication mode="Forms">
      <forms loginUrl="(Your_login_controller)" slidingExpiration="true" timeout="2880"></forms>
    </authentication>
    

    然后您可以在您不希望未经授权访问的控制器上使用[Authorize] 属性。

    【讨论】:

      猜你喜欢
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 2012-05-03
      • 1970-01-01
      • 2010-09-24
      • 2018-02-27
      • 2013-11-16
      相关资源
      最近更新 更多