2011-04-19 51 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