[英]URL Rewrite IIS, Redirect to login page
我有一个网页,可以通过以下方式访问
myapp.mydomain.com/Account/Login
我的项目应用程序位于站点的根文件夹中,但是如果我在应用程序本身中编辑路由配置,则可能会造成问题。
我正在尝试使用URL重写模块,以便在用户请求时
myapp.mydomian.com
它将自动将他重定向到上面的完整URL。
我不知道如何以这种方式配置它!
根据您在问题下的评论中的回答:
“他们去myapp.mydomian.com进行登录,那就是他们应该看到的第一页”
强制用户始终必须登录才能使用您的应用程序的正确方法是使用System.Web.Mvc.Authorize
属性。
不要尝试重写规则或弄乱路由,也不要通过web.config
文件<authorize>
配置元素来驱动它。
以模板MVC Internet应用程序为例,我们有两个控制器:
如果我们只希望保护MVC应用程序的某些部分,则可以使用[Authorize]
属性装饰每个控制器类。 例如:
[Authorize]
public class HomeController : Controller
{
....
}
但是,如果您希望保护每个控制器,那将变得非常乏味。 相反,您可以通过在FilterConfig
类中找到的RegisterGlobalFilters
静态方法中添加一行来全局地执行此操作。 此类位于项目的App_Start
文件夹( FilterConfig.cs
)中。
打开此文件,并确保将以下行添加到RegisterGlobalFilters
静态方法:
filters.Add(new AuthorizeAttribute());
例如:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new AuthorizeAttribute()); // <-- Add me
}
还要确保在system.web
部分下的web.config
文件中,您具有:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
开箱即用,无论如何都应该这样配置。
有关更多信息,请阅读:
http://www.davidhayden.me/blog/asp.net-mvc-4-allowanonymous-attribute-and-authorize-attribute
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.