asp.net不会创建身份表

时间:2016-04-20 12:31:13

标签: c# .net asp.net-web-api asp.net-identity owin

我使用带有OWIN和Identity框架的web api 2.2模板。我故意将我的DeafultConnection设置为一个错误的IP地址,但是当我单步执行并获得持有者令牌并创建声明时,我没有任何错误。

我可以杀死w3wp.exe,再次启动它,我的令牌仍然有效。那它在哪里坚持下去?

我在 GrantResourceOwnerCredentials()方法中手动验证测试用户

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

1 个答案:

答案 0 :(得分:2)

  

我可以杀死w3wp.exe,再次启动它,我的令牌仍然有效。那它在哪里坚持下去?

OAuth令牌根本不存在,在默认的Owin OAuth2实现中,它们在设计上是无状态的。每个令牌包含为服务器加密的用户发出的声明,以便只有它可以解密并验证它。

如果您在没有访问数据库的情况下验证您的用户(我认为这是您在GrantResourceOwnerCredential方法中手动 )时的意思,那么您当然DbContext得到实例化。