1

ServicestackAuthServiceは、REST スタイルの http 応答用に設計されています。そのため、 AuthService.Post(auth)返されるため、 HttpResultJQuery + Ajax を介して簡単に使用できます。

ただし、従来の Asp.Net MVC で使用する場合:

public ActionResult Login(Auth auth)
{
    HttpResult result = (HttpResult)AuthService.Post(auth);
    // YOU HAVE TO CHECK IF LOGIN SUCCESSFUL THAN 
    // IF SUCCESSFUL YOU HAVE TO REDIRECT IF IT HAS REDIRECTURL PARAMETER

    //if (result.StatusCode == System.Net.HttpStatusCode.Found)
    return View();
}

では、どのように?

4

1 に答える 1

2

AuthServiceを再構築し、Authenticate()メソッドを追加して、C#からの呼び出しを簡単にしました。

nullを返すことは、ユーザーがすでに認証されていることを意味します(そして試行は行われませんでした)。null以外を返すことは、ユーザー認証が成功したことを意味します。認証に失敗すると、例外がスローされます。

この変更により、次のことができるようになります。

public ActionResult Login(Auth auth)
{
    try {
        AuthResponse result = AuthService.Authenticate(auth);
        var alreadyAuthenticated = result == null;
        return alreadyAuthenticated
          ? View("success")
          : View("alreadyAuthenticated");                 

    } catch(Exception ex) {
       return View("authError");
    }
}

これらの変更は、NuGetの次のバージョンのServiceStack(v3.84)で行われます。公開されるまでは、メインリポジトリからビルドする必要があります。

于 2012-07-03T08:07:07.053 に答える