Autorizar atributo que no funciona con roles

Estoy teniendo problemas para conseguir elAuthorize Atributo para trabajar con roles. Así es como he decorado mi controlador:

[Authorize(Roles = "admin")]
public ActionResult Index()
{
    ...
}

Y así es como inicio de sesión un usuario en:

string roles = "admin";
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
    1,
    username,
    DateTime.Now,
    DateTime.Now.AddMinutes(30),
    false,
    roles
);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket));
HttpContext.Current.Response.Cookies.Add(cookie);

Pero a mi usuario todavía se le niega el acceso. ¿A dónde me voy mal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta