如何实现WebForm 类似MVC的自定义AuthorizeAttribute功能?

datahandler2 2016-01-13 11:57:56
一个项目,后台想加入三种角色的管理权限。。。因为项目是传统类型的WebForm开发(注意后台虽然是WebForm模式,但全部不使用服务器控件,纯html+jquery).。。。
参考了下MVC的常用做法,可以直接在对应的Controller上加 自定义的AuthorizeAttribute 进行扩展验证,挺方便。。。
那我就在想可否也可以让WebForm的每个Page顶部支持这种做法。。。。

于是开始尝试,大概思路是在Global的

void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (HttpContext.Current != null && HttpContext.Current.User != null)
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
//这边获取到请求页面的程序集

//反射获取该页面程序集是否有自定义属性----UserRoleAttribute,有,则调用
//UserRoleAttribute.自定义验证方法
}
}
}

问题是:
1.如何在Application_AuthenticateRequest获取当前请求页面的程序集。。。
2.如果请求页面的程序集是ProductList,那么这个ProductList程序集里面有一个方法 void Add(),这个Add方法
上面有一个我加的验证权限自定义属性,那么如何自动化的验证执行UserRoleAttribute.自定义验证方法
...全文
298 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 tiancaolin 的回复:
[quote=引用 1 楼 wyqlxy 的回复:] 1:首先可以得到请求的页面,那你可以其对应的程序集 2: 你直接在这个方法里判断是了,根据请求信息,看看是否有相应的权限
能详细点?如何获取对应页面的程序集。。[/quote] 你有个页面和程序集对应表,得到页面反查这个表
datahandler2 2016-01-13
  • 打赏
  • 举报
回复
引用 1 楼 wyqlxy 的回复:
1:首先可以得到请求的页面,那你可以其对应的程序集 2: 你直接在这个方法里判断是了,根据请求信息,看看是否有相应的权限
能详细点?如何获取对应页面的程序集。。
  • 打赏
  • 举报
回复
1:首先可以得到请求的页面,那你可以其对应的程序集 2: 你直接在这个方法里判断是了,根据请求信息,看看是否有相应的权限

62,270

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧