为什么需要安全控制
对于绝大多数应用系统而言,安全控制特性是绝对有必要的,比如以下需求:
(1)我们需要提供一个登陆界面,请用户进行身份认证,只有认证通过的用户才能访问应用系统。
(2)如果未认证的用户尝试访问需要受保护的页面,那么系统就会将该请求重定向到登录界面。
(3)当认证通过后,再次访问登录界面,将不会出现登录表单。
(4)不同角色的用户可访问不同的操作,这就是所谓的“操作权限”特性。
安全框架对于整个框架而言,是相当独立的,最好能够将其做成Plugin(插件)的形式,让开发者自由选择是否使用该插件。因此,将该插件命名为Smart Security Plugin,它需要依赖Smart Framework与Shiro。
如何使用安全控制框架
实现的安全控制框架的基本原则是:配置简单且使用方便。在配置上越少越好,在代码里只需要实现若干接口,并使用一些帮助类的API就能实现安全控制需求。
1.提供安全控制配置文件
只需在classpath下提供一份smart-security.ini配置文件,并在其中描述登录请求路径是什么,哪些请求路径可以匿名访问(也就是无需身份认证就能访问),哪些请求路径必须通过