1

サービススタックを使用して自己ホスト型の Windows HTTP サービスに取り組んでいます。呼び出し元のアプリケーションを認証するために基本認証 (ユーザー名/パスワード) を実装するように要求しています。これは私が現在使用しているコードで、正常に動作しています。

        Plugins.Add(new AuthFeature(() => new AuthUserSession() {},
 new IAuthProvider[] { new BasicAuthProvider() })); //CustomBasicAuthProvider()

        container.Register<ICacheClient>(new MemoryCacheClient());

        var userRepository = new InMemoryAuthRepository();
        container.Register<IUserAuthRepository>(userRepository);
        string hash;
        string salt;

        new SaltedHash().GetHashAndSaltString("passwordinhere", out hash, out salt);
                userRepository.CreateUserAuth(new UserAuth()
                {
                    Id = 1,
                    DisplayName = "userdisplayname",
                    UserName = "usernameinhere",
                    PasswordHash = hash,
                    Salt = salt
                }
                    , "app");

サービスからの応答ヘッダーを調べると、2 つの Cookie が含まれていることがはっきりとわかります。

セット Cookie: ss-id=dT8Yy6ejhgfjhgfkVvcxcxCNtngYRS4;path=/

セット Cookie: ss-pid=p4lsgo18JhYF4CTcxkhgkhgffRZob;path=/;expires=Fri, 09 Jan 2037 12:17:03 GMT

セキュリティ上の理由から、これらの Cookie に ;httpOnly フラグを追加するように ServiceStack を構成する必要がありますが、その方法が見つかりません。

みんな、それを行う方法を知っている人はいますか?どんなアイデアでも大歓迎です。

あなたの助けを前もってありがとう:)

4

1 に答える 1