小编tof*_*325的帖子

ASP.Net Cookie 未保存到浏览器

我只是想保存包含安全令牌的 cookie,但它们不会保留在浏览器中。这是我AuthController保存 cookie 的方法(简化):

[AllowAnonymous]
[HttpPost("authorize")]
[ProducesResponseType((int)HttpStatusCode.OK)]
public async Task<IActionResult> AuthorizeAsync()
{
    //generating access token ommited for brevity
    SetTokenCookie(accessToken);
    return Ok(userIdentity);
}
Run Code Online (Sandbox Code Playgroud)

SetTokenCookie方法:

private void SetTokenCookie(string accessToken)
    {
        var options = _jwtOptions.AccessToken;
        var cookieOptions = new CookieOptions()
        {
            HttpOnly = true,
            IsEssential = true,
            Secure = false,
            SameSite = SameSiteMode.Strict,
            Domain = options.Issuer, //http://localhost:3394 by default
            Expires = DateTime.UtcNow.AddDays(14)
        };

        Response.Cookies.Append(options.Name, accessToken, cookieOptions);
    }
Run Code Online (Sandbox Code Playgroud)

现在,当我分析 Api 的响应时,我发现Set-Cookieheader 和 token 本身都很好: 响应标头 解码后的令牌:

{
  "id": "70132f61-4d83-4772-9685-7a77a9204685", …
Run Code Online (Sandbox Code Playgroud)

c# cookies rest asp.net-core

5
推荐指数
1
解决办法
1万
查看次数

EF Core 中实现的存储库:使用整个 DbContext 还是仅使用 DbSet?

鉴于 EF Core 已经实现了存储库模式 ( DbSet) 和工作单元 ( DbContext),我可以DbSet像这样直接在我的存储库中使用吗?

public class MyEfRepository : IMyRepository
{
    private readonly DbSet<MyModel> _myModels;

    public MyEfRepository(MyDbContext ctx)
    {
        _myModels = ctx.MyModels;
    }

    public MyModel FindById(Guid id)
    {
        return _myModels.Where(x => x.Id == id).SingleOrDefault();
    }
}
Run Code Online (Sandbox Code Playgroud)

并按以下方式实施工作单元?

public class MyEfUnitOfWork : IMyUnitOfWork
{
    private readonly MyDbContext _ctx;
    public IMyRepository MyModels { get; }

    public MyEfUnitOfWork(MyDbContext ctx, MyEfRepository repo)
    {
        _ctx = ctx;
        MyModels = repo;
    }

    void Commit() => _ctx.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我想知道,因为我正在阅读的每一篇指南都建议将整个内容注入存储库以及通过它进行访问 …

c# unit-of-work repository-pattern dbcontext entity-framework-core

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