我的网站包含基于订阅的网页,这意味着这些网页中的内容受密码保护。我想实现网站搜索,并将这些受保护的页面显示在搜索结果中,但需要登录才能查看它们。
我想到的是,为每个受保护的页面创建一个不受保护的版本,然后在每个这些上载的页面中将页面加载重定向到受保护的版本。
有更好的方法吗?
答案 0 :(得分:0)
有一些方法可以让您更轻松地做到这一点。假设您赢得了在所有页面上完全自动完成,然后您转到global.asax
,在AuthenticationRequest上,如果您看到它是Google抓取工具或一般的抓取工具,您会自动使用简单的方式登录他登录名。
我的必须有任何人可以设置错误的浏览器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