权限控制的实现

权限管理,一般指通过在系统中设置的安全策略,用户可以访问而且只能访问自己被授权的系统资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。 因此很多人,常将“用户身份认证”、“密码加密”、“系统管理”等概念与权限管理概念混淆。

本篇文章主要说的是网站的权限管理实现,通过过滤URL或控制方法执行来进行限制。

通过利用Filter,对所有进入的URI进行解析,并取得当时Session中的User信息,然后通过RBAC的机制,将此链接需要的权限与用户拥有的权限进行比较,然后进行相应的处理。这种做法有很多好处:简单,容易实现,并且对系统侵入性也不强。这里URL就是RBAC中的资源了。

这样做的缺点是所有对数据的操作必须通过URL来体现,这一点在现代的程序中不太好实现。如果采用Struts, XWork或者Tapestry,采用同一个URL(浏览器看来)进行处理多项任务已不是什么稀奇的事。这时候同一个url里功能对应的角色不同,就不能通过URL过滤了。

通过AOP控制,在上一篇中就有提到,通过使用AOP可以精确控制到每一个执行方法的权限,也就是说小到一个按钮触发的业务也可以进行控制,并且由于AOP的切面管理可以对每一个细节功能做到方便的调配。不过AOP无法做到像Filter那样对网页进行过滤,只能对网页中的每一个细节功能进行控制,所以某种程度上来说Filter和AOP结合可以让权限管理得到最大的灵活度。

Facebooktwittergoogle_pluslinkedinmail

Need a translation service?

Please enter your personal details and we will contact you shortly

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others

Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP