[英]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.