我的网站包括基于订阅的页面,这意味着这些页面中的内容受密码保护。我想实现站点搜索,并让这些受保护的页面出现在搜索结果中,但需要登录才能查看它们。
我的想法是为每个受保护的页面创建一个不受保护的版本,然后在每个不受保护的页面中将页面加载重定向到受保护的版本。
有没有更好的方法来做到这一点?
我的网站包括基于订阅的页面,这意味着这些页面中的内容受密码保护。我想实现站点搜索,并让这些受保护的页面出现在搜索结果中,但需要登录才能查看它们。
我的想法是为每个受保护的页面创建一个不受保护的版本,然后在每个不受保护的页面中将页面加载重定向到受保护的版本。
有没有更好的方法来做到这一点?
有一些方法可以让您更轻松地做到这一点。假设您赢得了在所有页面上完全自动执行此操作,然后您转到global.asax
AuthenticationRequest 上的 , 如果您看到这是一个谷歌爬虫,或者一般来说是一个爬虫,您会自动使用简单的登录名登录他。
我必须知道任何人都可以设置错误的浏览器 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