【问题标题】:WebApi2 - integrate auto generated authentication with other DBContextWebApi2 - 将自动生成的身份验证与其他 DBContext 集成
【发布时间】:2016-01-23 00:09:33
【问题描述】:

我正在使用 webapi2 Owin 身份验证,并且还具有带有应用程序数据库模型的 DBContext

如何将 Owin 身份验证生成的用户集成到 db 模型的其余部分中?

【问题讨论】:

    标签: .net asp.net-web-api2 owin


    【解决方案1】:

    在我的一个迁移项目中,我们已经有了 users 表。所以这就是我使用它所做的(而不是默认的自动生成的 DB 上下文)

    public class ApplicationOAuthProvider : OAuthAuthorizationServerProvider
    {
     ...
        public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var container = new MyUnityContainer();
            var _tokenService = container.GetContainer().Resolve<ITokenService>();
            var userId = _tokenService.Validate(context.UserName, context.Password);
            if (userId <= 0)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return Task.FromResult<object>(null);
            }
    ....
    

    这里的 _tokenService 是我的自定义 DBContext 之上的一个包装器,并且具有与任何其他 DB 方法一样的验证方法。

    希望这会有所帮助。

    【讨论】:

    • 谢谢,这很好,我做过一次。但现在情况并非如此。我需要的是在模型的其余部分使用自动生成的用户 DBContext,而不是创建我自己的身份验证
    猜你喜欢
    • 2021-02-10
    • 2011-07-06
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    相关资源
    最近更新 更多