Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别是使用领先的J2EE解决方案-Spring框架开发的企业软件项目。Spring Security框架的使用是会有一些技巧的,我们掌握了这些技巧使用起来也能事半功倍。
这个样例程序包含在spring发布的zip压缩包文件,名为:spring-security-samples-tutorial-<version>.war。把这个文件重命名为tutorial.war(以便于部署到tomcat时简化访问的URL链接)。把这个文件放到tomcat下的webapp目录下,然后启动tomcat服务。之后就可以用链接访问这个应用程序了。这个样例程序没有做太多的事,不过的确提供了一个很好的模板能很好的把spring安全集成到项目中。绝大多数初学者在这个过程中常遇到的问题出现在简单的配置错误或者路径错误(或者WEB-inf/lib目录下缺失jar包)。必须在一个可以运行的配置环境的基础上开始构建项目。
当运行程序的时候, 确保自己熟悉spring安全的调试日志输出(日志输出默认为打开状态)。虽然框架输出详细的日志,但是很多人却使用得很失败。作为一个未授权的用户点击了一个安全的链接,当登录,退出等等情况下的时候到底发生了什么?当进入到安全过滤器链开始处理的时候,将会看到每一个http请求及如何处理的日志,所以许多在论坛中报道的问题可以按网页浏览器请求的相应日志记录来匹配查找得以解决
在命名空间第一章节的第一部分,绝大部分是关于之前学习过的两个步骤,进入前面使用过指南样例(tutorial sample)命令空间元素并且理解它们的主要目的。如果有修改过Petclinic tutorial或者其它的样例程序,参考向导(Reference Guide)的其它部分将带进入更详细的有关于框架实现类,如果有需要的话,可以浏览下它们。
这个样例将尝试更多spring安全框架高级属性,尤其是ACL模块。文件spring-security-samples-contacts-<version>.war是标准的web MVC应用程序,它可以让以特殊的用户(列举在登录页面的用户)登录并且查看数据库中的”通讯录”,每个登录用户都有若干权限列表,如何登录用户有必需的权限的就可以查看若干的通讯录列表。有某个通讯录管理权限的用户就可以删除这个通讯录,创建或者删除其中实例的权限,因此可以分配(重分配)其它用户读,写,管理通讯录中实例的权限。Spring安全应用在方法级通过在接口ContactManager使用注释(annotations)配置来引入的。
到这个步骤应该对spring的安全如果发觉功效有了很好的领会,剩下的工作应该是如果设计应用程序来实现安全了。推荐使用指南样例(Tutorial Sample)来完成实际的集成工作,即使有复杂的需求。大多数在论坛中报告问题的都是出自配置的问题,因为他们在一开始在并不知道将要如果进行的时候做了太多的改变。
代码小兵64503-29 11:46
代码小兵87208-06 11:36
代码小兵34507-29 13:19