基本認証を使用するServiceStack APIを構築しています。私は現在、次のように私のAPPHOSTで認証を設定している:なしAuthorizationヘッダーまたは間違ったユーザ名で要求を行うときServiceStack認証に失敗した場合、リダイレクトしないでください。
var authDb = new OrmLiteConnectionFactory("Server=(...);", true, MySqlDialectProvider.Instance);
var authRepo = new OrmLiteAuthRepository(authDb);
authRepo.CreateMissingTables();
container.Register<ICacheClient>(c => new MemoryCacheClient());
container.Register<IUserAuthRepository>(c => authRepo);
Plugins.Add(
new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new BasicAuthProvider() })
);
+応答を渡す/Account/Login.aspx?ReturnUrl=にリダイレクトされます...
Parital要求+応答例:
POST http://localhost:60278/reserve HTTP/1.1
HTTP/1.1 302 Found
Location: /Account/Login.aspx?ReturnUrl=%2freserve
X-Powered-By: ServiceStack/3,924 Win32NT/.NET
それは401権限またはHTTP 403禁止のみHTTPで応答する方法はありますか?
が、私はここに私を混乱させ、いくつかのASP.netのものがなければならないと思います。私はドキュメントでそれを見て、HtmlRedirect = nullを試して、私はAccept/Content-typeヘッダにapplication/jsonを使っています。リダイレクトは書き込み(〜/ login)と同じではなく、/ Account/Login.aspxです。私は私のglobal.aspxを通過して、あなたに知らせてくれるでしょう。 私はあなたの答えを今受け入れていますが、それはSSが正しくセットアップされたときの解決策です。ありがとうございました! :) – Magge
はい、これは私の悪かったです。私はまだWeb.configに.net Membershipのものを持っていて、SS認証を上書きしているようです。私はそれを削除した後、魅力のように動作します。 – Magge
私はそれを得ました! ... :) –