Get Session von HttpActionContext

Ich versuche zu schaffen, eine Berechtigung, die attribute zu konfigurieren, in der jede Aktion von meinem Controller, so das benutzerdefinierte Attribut sollte die sessionId des Benutzers.
Mein code ist so:

public class PermissionChecker: ActionFilterAttribute
{
    private int _permissionId { get; set; }
    private IUserSelectorService _userService { get; set; }

    public PermissionChecker(int permissionId)
    {
        _permissionId = permissionId;
        _userService = new UserSelectorService();
    }

    public PermissionChecker(int permissionId, IUserSelectorService userService)
    {
        _permissionId = permissionId;
        _userService = userService;
    }

    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        if (_userService.HasPermission(_permissionId, /* here I must pass the session["Id"]*/)){
             base.OnActionExecuting(actionContext);
             return;
        }
        throw new HttpException(401, "Unauthorized");
    }
}
InformationsquelleAutor MuriloKunze | 2012-11-20
Schreibe einen Kommentar