0
這裏就是我想要做:如何使用Owin登錄Facebook?
首先我創建一個UserManager
var userManager = new UserManager<IdentityUser>(new CustomUserStore());
由於任何用戶是有效的,我創建了一個CustomUserStore
,改變了FindById
方法
public class CustomUserStore : UserStore<IdentityUser>
{
public override Task<IdentityUser> FindByIdAsync(string userId)
{
return Task.Run<IdentityUser>(() =>
{
return new IdentityUser
{
Id = userId,
UserName = userId
};
});
}
}
然後我試圖創建一個身份證
var user = new IdentityUser("anyusername");
var identity = userManager.CreateIdentity(
user,
DefaultAuthenticationTypes.ApplicationCookie);
然後我試圖使用從IAuthenticationManager
的SignIn
方法OwinContext
HttpContext.Current.GetOwinContext().Authentication.SignIn(
new AuthenticationProperties
{
IsPersistent = true
}, identity);
一切正常,沒有拋出任何異常,但是當我嘗試Authorize
屬性來訪問一個簡單的動作,它不會讓我看到了第頁,好像我沒有登錄
[Authorize]
public ActionResult Index()
{
return View();
}
更多情況下,我已經添加了完整的代碼在這裏:
爲什麼不能登錄?