私のウェブサイトにはサブスクリプションベースのページが含まれています。つまり、これらのページのコンテンツはパスワードで保護されています。サイト検索を実装し、これらの保護されたページを検索結果に表示させたいのですが、表示するにはログインが必要です。
私が考えたのは、保護されたページごとに保護されていないバージョンを作成し、これらの保護されていないページのそれぞれで、ページの読み込み時に保護されたバージョンにリダイレクトすることです。
これを行うためのより良い方法はありますか?
私のウェブサイトにはサブスクリプションベースのページが含まれています。つまり、これらのページのコンテンツはパスワードで保護されています。サイト検索を実装し、これらの保護されたページを検索結果に表示させたいのですが、表示するにはログインが必要です。
私が考えたのは、保護されたページごとに保護されていないバージョンを作成し、これらの保護されていないページのそれぞれで、ページの読み込み時に保護されたバージョンにリダイレクトすることです。
これを行うためのより良い方法はありますか?
それをもっと簡単にできる方法がいくつかあります。すべてのページで完全に自動的に作成したとしましょう。次に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