これが私がやろうとしていることです:
最初に私は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);
次に、のSignIn
メソッドIAuthenticationManager
を使用しようとしましたOwinContext
HttpContext.Current.GetOwinContext().Authentication.SignIn(
new AuthenticationProperties
{
IsPersistent = true
}, identity);
すべてが例外をスローすることなく機能しAuthorize
ますが、属性を使用して単純なアクションにアクセスしようとすると、サインインしていないかのようにページが表示されません。
[Authorize]
public ActionResult Index()
{
return View();
}
詳細については、ここに完全なコードを追加しました。
サインインしないのはなぜですか?