私は自分のauthorize属性でasp.net mvc 3サイトを持っています。 Iユーザーがログインが 私は何が欠けていますか?私のフォームタイムアウトはセッションをタイムアウトしません
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext == null)
{
throw new ArgumentNullException("httpContext");
}
if (httpContext.User.Identity.IsAuthenticated)
{
return true;
}
return false;
}
AuthorizeAttribute
フォーム認証クッキーpublic void SetAuthCookie(string userName, string userData = "",int version = 1)
{
DateTime expiry = DateTime.UtcNow.AddMinutes(30);
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(version, userName, DateTime.UtcNow, expiry, false, userData, "/");
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket) {Path = "/"};
HttpContext.Current.Response.Cookies.Add(authCookie);
}
//を作るときだから私は自分のサイトへのログインに進み、タイムアウトに自分のサイトを待ちます。私はその後、要求を行う(これはAjaxのリクエストです)、それは最初に私の属性を通過し、httpContext.User.Identity.IsAuthenticated
はまだ私は3分
<authentication mode="Forms">
<forms loginUrl="~/Account"
protection="All"
name=".MySite"
path="/"
requireSSL="false"
slidingExpiration="true"
defaultUrl="default.aspx"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false"
timeout="1"
/>
</authentication>