2011-04-19 109 views
0

DNS有* .website.com指向website.com的通配符。如何強制用戶註銷子域修改?

Client A給出了一個像這樣的網址:http://clientA.website.com/並與client B命中了相同的登錄頁面。 Client A登錄,然後將子域更改爲client B's。當用戶更改子域名時,如何強制用戶自動回到登錄頁面?

這會做到訣竅嗎?

<authentication mode="Forms"> 
     <forms slidingExpiration="true" loginUrl="Views\Login.aspx" 
     defaultUrl="Views\Login.aspx" protection="All" timeout="300" 
     cookieless="UseCookies" enableCrossAppRedirects="false" 
     domain="*.website.com" <!--Will this property and value do what I want?--> 
     name=".ASPXFORMSAUTH"/> 
    </authentication> 

謝謝!

回答

1

當他們登錄你可以這樣做:

Session["validhost"] = Request.Url.Host; 

,然後在Global.asax.cs中,你可以有這樣的:

protected void Application_AuthenticateRequest(Object sender, EventArgs e) 
{ 
    if (Session["validhost"] != null && Request.Url.Host != Session["validhost"]){ 
    Session.Abandon(); 
    //some sort of redirect 
    } 
} 

你肯定可以做一些更改此基礎上你如何在網站上存儲事物,但這種基本模式將起作用。

+0

感謝您的帖子。這是一個可能的解決方案。我希望表單身份驗證能夠自動處理這個問題。 – 2011-04-20 20:11:45