java 过滤器 加参数,自定义授权过滤器属性参数

我有以下要求来实现访问控制列表

public class SecurityObject{

public string Key{get;set;}

public string DisplayName{get;set;}

public bool isAllowed{get;set;}

}

public class Role{

List AccessibleObjects{get;set;}

}

目前我使用表单身份验证进行基本授权 . 以下是我的代码

的Global.asax.cs

public class MvcApplication : System.Web.HttpApplication

{

public override void Init()

{

this.PostAuthenticateRequest += new

EventHandler(MvcApplication_PostAuthenticateRequest);

base.Init();

}

void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)

{

HttpCookie authCookie =

HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

if (authCookie != null)

{

string encTicket = authCookie.Value;

if (!String.IsNullOrEmpty(encTicket))

{

FormsAuthenticationTicket ticket =

FormsAuthentication.Decrypt(encTicket);

string[] userData = ticket.UserData.Split(new string[] { "___" },

StringSplitOptions.None);

string[] roles = null;

if (userData.Length > 1)

{

roles = userData[1].Split(',');

}

MyCustomIdentity identity = new MyCustomIdentity(ticket);

GenericPrincipal principle = new GenericPrincipal(identity, roles);

HttpContext.Current.User = principle;

}

}

}}

我目前的控制器类

public class AdminController : Controller

{

[HttpPost, Authorize, ValidateAntiForgeryToken]

public ActionResult SaveUser(UserDetailViewModel viewModel)

{

}

}

我的目标控制器类

public class AdminController : Controller

{

[HttpPost, Authorize(ACLKey="USR_SAVE"), ValidateAntiForgeryToken]

public ActionResult SaveUser(UserDetailViewModel viewModel)

{

}

}

我希望我的action方法用ACLKey修饰,我想检查用户角色是否具有给定的密钥,并根据我需要执行或返回HttpUnauthorizedResult页面,即使是来自jQuery的Ajax请求 .

我提到很多像Customizing authorization in ASP.NET MVC但我没有找到一种方法来执行表单身份验证和我的自定义ACLKey检查 .

How do i parse the value USR_SAVE and process custom authentication using CustomAuthorizeFilter?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值