C# MVC3不允许非登录用户访问任何控制器,但在

C# MVC3不允许非登录用户访问任何控制器,但在,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我希望当一个未登录的用户尝试访问任何不允许非登录用户访问的控制器时,该用户会被重定向到一个控制器来处理登录。我怎样才能以最好的方式实现这一点?我觉得在Global.asax.cs中这样做会很好,对吧?使用属性。它适用于表单身份验证,我想这就是您正在使用的。使用属性。它可以很好地用于表单身份验证,我想这就是您正在使用的 保护ASP.NET MVC3应用程序安全时,最简单的步骤是要求用户登录以访问特定URL。这是通过在控制器或操作上使用授权筛选器[授权]来完成的 自定义授权属性: 保护ASP.NET

我希望当一个未登录的用户尝试访问任何不允许非登录用户访问的控制器时,该用户会被重定向到一个控制器来处理登录。我怎样才能以最好的方式实现这一点?我觉得在Global.asax.cs中这样做会很好,对吧?

使用属性。它适用于表单身份验证,我想这就是您正在使用的。

使用属性。它可以很好地用于表单身份验证,我想这就是您正在使用的

保护ASP.NET MVC3应用程序安全时,最简单的步骤是要求用户登录以访问特定URL。这是通过在控制器或操作上使用授权筛选器[授权]来完成的

自定义授权属性:

保护ASP.NET MVC3应用程序安全时,最简单的步骤是要求用户登录以访问特定URL。这是通过在控制器或操作上使用授权筛选器[授权]来完成的

自定义授权属性:


从基本控制器继承所有控制器。基本控制器应在类声明上方具有注释。您可以使用[Authorize]等.NET注释,也可以实现自己的注释,这很简单

例如

然后,您将创建从基本控制器派生的控制器:

[Secure(false)]
public class NonSecureController: BaseController
{
   // Action methods
}
您必须实现简单的注释,您可以向其传递一个标志,以指示用户是否需要登录


开发自定义属性注释时,可以将其范围指定为类或方法。这意味着您将对权限逻辑进行更精细的控制。

从基本控制器继承所有控制器。基本控制器应在类声明上方具有注释。您可以使用[Authorize]等.NET注释,也可以实现自己的注释,这很简单

例如

然后,您将创建从基本控制器派生的控制器:

[Secure(false)]
public class NonSecureController: BaseController
{
   // Action methods
}
您必须实现简单的注释,您可以向其传递一个标志,以指示用户是否需要登录


开发自定义属性注释时,可以将其范围指定为类或方法。这意味着您将对权限逻辑进行更精细的控制。

我采用了此解决方案。这是最简单的方法,尽管我自己创建了一个属性,处理未登录用户的方式略有不同。这是最简单的方法,尽管我自己创建了一个属性,处理未登录用户的方式略有不同。