0

これが私がやろうとしていることです:

最初に私は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();
}

詳細については、ここに完全なコードを追加しました。

サインインしないのはなぜですか?

4

1 に答える 1