小编Hoo*_*ots的帖子

GetExternalLoginInfoAsync null与ExternalLoginCallback中的OWIN,除非已登录到谷歌

我一直在尝试使用谷歌帐户在MVC5应用程序中使用OWIN实现外部登录.

如果我已经登录谷歌,点击我的应用程序中的谷歌按钮是好的,它允许我访问logininfo后,我将进入我的注册页面.

如果我点击我的应用程序谷歌按钮时我还没有登录谷歌,我会被提示按预期登录谷歌,但回叫接收器似乎没有看到我登录,因为logininfo始终为null回调中的场景如下......

    [AllowAnonymous]
    public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
    {
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();

         if (loginInfo == null)
        {
            return RedirectToAction("Login");
        }

        // Code omitted for brevity.
        }
    }
Run Code Online (Sandbox Code Playgroud)

有没有人有解决方法或解释?这几乎就像外部cookie在登录谷歌之后才能提供给OWIN.

c# asp.net asp.net-mvc login owin

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

实体框架与相同实体类型但具有不同关系类型的多对多关系

使用实体框架 6,我有一个 Person 类...

public class Person
{
    public int ID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Relationship> Relationships { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和一个关系类

public class Relationship
{
    public int ID { get; set; }
    public RelationshipType DependencyType { get; set; }

    [ForeignKey("Person")]
    public int PersonID { get; set; }
    public virtual Person Person { get; set; }

    public virtual ICollection<Person> RelatedPersons { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

我希望这代表的是,例如,我可能将兄弟姐妹作为一种关系类型,将叔叔和阿姨作为另一种关系类型,并持有这些类型的关系,而无需知道父母是谁,因为他们可能不在数据库中。

使用 Code First,这会生成一个表模式...

CREATE …
Run Code Online (Sandbox Code Playgroud)

c# entity entity-framework model relationship

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