【问题标题】:How to force user logout on sub-domain modification?如何强制用户注销子域修改?
【发布时间】:2011-04-19 16:47:45
【问题描述】:

DNS 有一个通配符 *.website.com 指向 website.com。

Client A 的 URL 类似于: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>

谢谢!

【问题讨论】:

    标签: asp.net security forms-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
      }
    }
    

    您当然可以根据您在网站上存储内容的方式对此进行一些更改,但是这种基本模式会起作用。

    【讨论】:

    • 感谢您的帖子。这是一种可能的解决方案。我有点希望表单身份验证能够自动为我处理这个问题。
    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 2014-11-12
    • 2019-02-07
    • 1970-01-01
    • 2019-04-30
    • 2012-05-11
    • 2017-11-18
    • 2018-11-28
    相关资源
    最近更新 更多