2017-10-27 13 views
1

私は非常に簡単なServiceStackウェブサイトを組み込み、SS Razor、Auth、およびFluent検証を使用して構築しています。単純なログインページを設定しましたが、何らかの障害が発生した場合は、SS Snapshot of Authenticate generated by ServiceStackページが表示されます。ServiceStack + Razor + Auth + Fluent Validation

login.cshtml 

<form action="@(new Authenticate() { provider = "credentials" }.ToPostUrl())" method="post"> 
    <input type="text" name="username" /> 
    <input type="password" name="password" /> 
    <input type="hidden" name="continue" value="@(new Home().ToGetUrl())" /> 
</form> 


AppHost.cs (Configure snippet) 

     TimeSpan slidingExpiry = TimeSpan.FromMinutes(60); 
     var authProvider = new CredentialsAuthProvider() 
     { 
      SessionExpiry = slidingExpiry 
     }; 

     AuthFeature authFeature = new AuthFeature(
      () => new AuthUserSession(), 
      new IAuthProvider[] { authProvider }, 
      htmlRedirect: new Login().ToGetUrl() 
      ); 

     authFeature.IncludeAssignRoleServices = false; 
     authFeature.IncludeRegistrationService = false; 
     authFeature.IncludeAuthMetadataProvider = false; 

私の代わりに認証するためのAJAX呼び出しを行うために必要されるので、トラップこれをすることが可能とエラーが発生したかみそりのビューを表示したいと思います。どのように私は認証失敗のための剃刀のビューを表示する私のウェブサイトを設定できますか?

+0

SS Razorのドキュメントを読んで、「Views/Authenticate.cshtml」ページを作成しようとしました。それはうまくいくように見える! URLは楽しいものではありません(/ auth/credentials)が、私はそれを利用することができます。 – jklemmack

答えて

2

API First developmentに続き、Ajaxを使用することは、Fluent Validationエラーを処理するための好ましいアプローチです。

このFORM POSTはAuthenticateに別のHTML表現を表示するために独自のRazor Viewsを必要とするサービスです。したがって、Authenticate Serviceの応答を処理するには、Authenticate.cshtmlまたはAuthenticateResponse.cshtml View Pageを追加する必要があります。

+0

AJAXの周りに多くのものがあります。私は非常に限られたクライアント(工業用コントロールを考える)を目の当たりにしており、jQuery/jQuipをまったく持たないことで逃げることができるかどうかを見たいと思っていました。 – jklemmack

関連する問題