9

何が欠けているのかわかりませんが、実際には参照できませ User.IdentityOnActionExecuting(ActionExecutingContext filterContext)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using System.Web.Routing;

.....

    public class RealUserAttribute : ActionFilterAttribute
    {
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                 /// if (User.Identity.IsAuthenticated)

それを修正する方法の手がかりはありますか?

4

3 に答える 3

13

解決策を見つけました。

そのはず

filterContext.HttpContext.User.Identity.IsAuthenticated
于 2012-11-05T23:39:22.867 に答える
9

ActionFilter の代わりに AuthorizeAtribute を使用する必要があると思います。次のようなことを試してください:

using System.Web;
using System.Web.Mvc;

public class AuthorizeUser : AuthorizeAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        var id = filterContext.RequestContext.HttpContext.User.Identity;
    }
}
于 2012-11-05T23:44:17.433 に答える