0

カスタム ロール プロバイダーとメンバーシップ プロバイダーがあります。このプロジェクトをasp.net 4 no mvcで使用したい。

web.config で次のコードを使用します。

<authentication mode="Forms">
  <forms loginUrl="~/Login.aspx" timeout="2880" />
</authentication>

カスタムメンバーシッププロバイダーとプロジェクトは機能しましたが、セッションはプロジェクトで機能しません。

ログインには次のコードを使用します。

private User SetupFormsAuthTicket(string userName, bool persistanceFlag)
    {
        User user;
        UsersContext usersContext = new UsersContext();
            user = usersContext.GetUser(userName);

        var userId = user.UserId;
        var userData = userId.ToString(CultureInfo.InvariantCulture);
        var authTicket = new FormsAuthenticationTicket(1, //version
                            userName, // user name
                            DateTime.Now,             //creation
                            DateTime.Now.AddMinutes(30), //Expiration
                            persistanceFlag, //Persistent
                            userData);

        var encTicket = FormsAuthentication.Encrypt(authTicket);
        Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
        return user;
    }
4

1 に答える 1

0

これはweb.configにありましたか?

<sessionState cookieless="AutoDetect" regenerateExpiredSessionId="true" timeout="20" />
于 2013-09-22T16:34:24.900 に答える