小编vm0*_*112的帖子

在Web.Config中设置ServiceStack Cookie域会导致会话ID在每个请求上更改

根据ServiceStack - 域和子域的身份验证,我在httpCookies部分设置了cookie域,它实际上有效 - 它可以正确设置cookie的域.

但我注意到,一旦我将这一行添加到配置中,就会在每个请求上生成一个新的会话ID,无论用户是否已经过身份验证.

我的代码很简单,很简单.

我的应用主机代码:

public override void Configure(Funq.Container container)
{
        Plugins.Add(new AuthFeature(() => new CustomUserSession(),
            new IAuthProvider[] {        
                    new CustomCredentialsProvider(), 
                }));

        container.Register<IRedisClientsManager>(c => new PooledRedisClientManager("10.211.55.2:6379"));
        container.Register<ICacheClient>(c => c.Resolve<IRedisClientsManager>().GetCacheClient());

        var userRep = new InMemoryAuthRepository();
        container.Register<IUserAuthRepository>(userRep);
}
Run Code Online (Sandbox Code Playgroud)

我的自定义凭据提供者

public class CustomCredentialsProvider : CredentialsAuthProvider
{
    public override bool TryAuthenticate(ServiceStack.IServiceBase authService, string userName, string password)
    {
        return true;
    }

    public override void OnAuthenticated(ServiceStack.IServiceBase authService, IAuthSession session, IAuthTokens tokens, Dictionary<string, string> authInfo)
    {
        session.UserAuthName = "test user";
        session.UserName = …
Run Code Online (Sandbox Code Playgroud)

cookies session-cookies servicestack

2
推荐指数
1
解决办法
1814
查看次数

标签 统计

cookies ×1

servicestack ×1

session-cookies ×1