を使用して完全なWebアプリを作成しようとしていますServiceStack.Razor
。しかし、サービスとページで認証を処理する方法に問題がありました。
認証属性を設定できるため、サービスでの不正アクセスを非常に簡単に処理できます。私はcredentialsAuthProviderを使用して構成認証を行い、クエリ文字列を使用して正常に認証/auth?username=&password
され、保護されたサービスに正常にアクセスします。
しかし、サービスへの不正アクセスを処理する方法。現在、401の不正アクセスを返します。そのため、ユーザーがページにアクセスすると、空白のページしか表示されませんでした。ログインページにリダイレクトするための不正アクセス用にcustomhttphandlerを設定しようとしましたが、成功しませんでした。
SetConfig(new EndpointHostConfig {
DebugMode = true,
CustomHttpHandlers = {
{ HttpStatusCode.NotFound, new RazorHandler("/notfound") },
{ HttpStatusCode.Unauthorized, new RazorHandler("/login") },
}
});
Servicestack.razor
Asp.Net WebPagesのようなRazorページの作成を許可しますが、を使用するようなページでの承認を処理する方法のサンプルはありませんRequest.IsAuthenticated
。私はそれを試しましたが、throwメソッドが存在しないというエラーがあります。
そして、認証セッションをログアウトまたは破棄する方法
更新:ServiceStack.Razor
SelfHostingで使用しています