我有一个简单的Web应用程序我测试了。它有两个层次,即管理员和普通用户。该项目还有三个实体。我试图实现的是用户无法删除第一个实体中的任何条目的实例,尽管他可以创建它。Spring Roo的权限级别
我相信使用@RequestMapping被方式来实现这一点,但不能完全确定如何执行,如果没有,还有什么其他的方法有哪些?一段代码将不胜感激。
在此先感谢。
我有一个简单的Web应用程序我测试了。它有两个层次,即管理员和普通用户。该项目还有三个实体。我试图实现的是用户无法删除第一个实体中的任何条目的实例,尽管他可以创建它。Spring Roo的权限级别
我相信使用@RequestMapping被方式来实现这一点,但不能完全确定如何执行,如果没有,还有什么其他的方法有哪些?一段代码将不胜感激。
在此先感谢。
可以隐藏的删除按钮上的观点jspx
文件,如果你只阻止通过用户界面访问,然后禁止通过调用你的控制器的删除方法。您还可以使用其他方法来限制用户执行某些操作。
1.用户界面
但是,你需要在你的控制器进行手动检查,以确保未经授权的用户不执行删除操作。
藤本,首先需要Spring Security的JSP标签库命名空间导入到jspx
文件。
xmlns:sec="http://www.springframework.org/security/tags"
然后使用刚才导入的Spring安全标签来包围需要在用户级别显示的元素。
举一个例子:
<sec:authorize access="hasRole('ROLE_ADMIN')">
<p>User is an administrator</p>
<!-- Delete button goes here -->
</sec:authorize>
有关标签库的更多信息,请访问:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.html
2.控制器
您可以拦截的URL,禁止用户谁不已在ROLE_ADMIN
加入您的applicationContext-security.xml
<intercept-url pattern="/countries/**" access="hasRole('ROLE_ADMIN')" method="DELETE"/>
如果它不为你工作,试图通过下面的链接去。
有关春季安全访问http://static.springsource.org/spring-security/site/petclinic-tutorial.html
干杯一个有趣的教程。