2012-05-10 12 views
1

FormsAuthenticationを使用して、匿名ユーザーが/ pages/security内のページ以外のすべてのコンテンツにアクセスできないようにしています - このフォルダにはログインページやパスワードの忘れなどがあります。FormsAuthenticationを使用してフォルダから認証されたユーザーを拒否する

<authorization> 
    <deny users="?" /> 
</authorization> 
</system.web> 
<location path="pages/security"> 
    <system.web> 
     <authorization> 
      <allow users ="?" /> 
     </authorization> 
    </system.web> 
</location> 

これは正常に動作しますが、私はまた、認証されたユーザがログインページまたは他の関連ページにアクセスできないように、/ページ/セキュリティページへの認証のためのアクセスを拒否したいです。

上記のように動作しないため、ログインしてもログインページにアクセスできます。何が間違っていますか?

ありがとうございました。

+0

ええと、なぜそれは愚かですか? – Fijjit

答えて

1

この方法を使用できます。

ユーザが認証され、ログインページなどへのアクセスを停止したい場合は、これらのページPage_Loadを使用して、他のページに確実にリダイレクトされているかどうかを確認できます。

if(IsUserAuthentic()) 
{ 
    Response.Redirect("Home.aspx"); 
} 

IsUserAuthentic()たとえば は、ユーザーの正当性をチェックしますあなたのカスタムメソッドです。

+0

ええ、私はこれが道のりだろうと思っていましたが、より洗練されたソリューションがあることを期待していました。 web.configで制御する方法がないのは不思議です – Fijjit