1

我的网站包括基于订阅的页面,这意味着这些页面中的内容受密码保护。我想实现站点搜索,并让这些受保护的页面出现在搜索结果中,但需要登录才能查看它们。

我的想法是为每个受保护的页面创建一个不受保护的版本,然后在每个不受保护的页面中将页面加载重定向到受保护的版本。

有没有更好的方法来做到这一点?

4

1 回答 1

0

有一些方法可以让您更轻松地做到这一点。假设您赢得了在所有页面上完全自动执行此操作,然后您转到global.asaxAuthenticationRequest 上的 , 如果您看到这是一个谷歌爬虫,或者一般来说是一个爬虫,您会自动使用简单的登录名登录他。

我必须知道任何人都可以设置错误的浏览器 ID 并查看您的“受保护页面”。代码可以是:

protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
   // if its crawler - or check for what else you wish for
   if(HttpContext.Current.Request.Browser.Crawler){      
       // then log him automatically using the 'OneName' user
       FormsAuthentication.SetAuthCookie("OneName", false);       
   }
}

相对:http: //msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.setauthcookie.aspx

于 2012-06-01T22:56:05.627 回答