私はASP.NET Webサイトを開発しています。私が座っているページには、彼が登録ユーザーである場合にのみ見ることができるページがいくつかあります。そうでない場合は、適切なページにリダイレクトする必要があります。ユーザーがログインしているかどうかをPage_loadイベントで確認する必要がありますか?登録するまでユーザーが特定のページにアクセスしないようにします。
ユーザーがURLの名前を入力すると、これは正常に機能しますか?
私はASP.NET Webサイトを開発しています。私が座っているページには、彼が登録ユーザーである場合にのみ見ることができるページがいくつかあります。そうでない場合は、適切なページにリダイレクトする必要があります。ユーザーがログインしているかどうかをPage_loadイベントで確認する必要がありますか?登録するまでユーザーが特定のページにアクセスしないようにします。
ユーザーがURLの名前を入力すると、これは正常に機能しますか?
ここでは、私は単純なウェブサイトのいくつかのために何をしています。典型的なものはforms authenticationです。 global.ascx.csから:あなたは明示的にすべてのユーザーおよび他のすべての要求に見えるはずページを指定
protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
{
var unsecuredPages = new[]
{
"test.htm",
"email.htm"
};
bool letThrough = unsecuredPages.Any(s => Request.RawUrl.ToLowerInvariant().Contains(s));
if (letThrough)
{
return;
}
if (!User.Identity.IsAuthenticated &&
!Request.RawUrl.Contains(FormsAuthentication.LoginUrl))
{
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
}
}
は、ログインページにリダイレクトされます。私のweb.configファイルには、次のようになります。
<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" timeout="480" name="xyz" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="Default.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="true"/>
</authentication>
<location path="Styles">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
はい、あなたがクラスを作ることができ、そのクラスには、ユーザーが登録されているチェックしたりせず、登録ユーザーのために必要とされているページにそのクラスを継承することができます。
@HeavyWaveのようにフォーム認証も使用できます。
あなたのスタイルフォルダのように2つのセキュリティ保護されていないページに要素を追加するだけの理由はありますか? –
patmortech
本当に、私は設定ファイルではなく、そのファイルを持っている方が好きなので、他の人がそれを混乱させることはありません。反対の要件があるかもしれません。 –
上記のコード 'var unsecuredPages = new []' をGlobal.asax.csに書き込むと、新しいデータの後にデータ型を指定するよう求められます。 - / – Cipher