java – 如何检查方法级别的spring安全性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何检查方法级别的spring安全性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2213字,纯文字阅读大概需要4分钟。
内容图文
![java – 如何检查方法级别的spring安全性](/upload/InfoBanner/zyjiaocheng/799/e9b9833d4ee4479fa44afb5a167cdc7e.jpg)
我已经在控制器方法中实现了spring security.
下面是我的spring security.xml
– >
<!-- URL pattern based security -->
<security:http auto-config="false" entry-point-ref="authenticationEntryPoint"
use-expressions="true">
<custom-filter ref="authenticationFilter" position="FORM_LOGIN_FILTER" />
<security:intercept-url access="hasAnyRole('ROLE_ADMIN','ROLE_USER')" pattern="/common/admin/**" />
<security:intercept-url pattern="/common/accounting/**" access="hasRole('ROLE_USER')" />
<security:logout logout-url="/j_spring_security_logout" invalidate-session="true" logout-success-url="/login"/>
</security:http>
以下是我的控制器
@Secured({"ROLE_ADMIN"})
@RequestMapping(value = "/common/admin/addAdmin", method = RequestMethod.GET)
public String add(ModelMap map) {
map.addAttribute(new Administrator());
return "/common/admin/addAdmin";
}
@Secured({"ROLE_ADMIN"})
@RequestMapping(value = "/common/admin/addAdmin", method = RequestMethod.POST)
public String processadd(
@ModelAttribute("administrator") Administrator administrator) {
this.administratorManager.addAdmin(administrator);
return "/common/admin/success";
}
我允许管理员和用户角色使用url / common / admin / **.但我在管理员控制器中做了一些限制.当用户作为用户角色进入/ common / admin / *时,他可以,但他也可以进入仅适用于管理员角色的方法.
我该如何解决?
谢谢!
解决方法:
您已经添加了@Secured注释.
但是你需要启用它:
<!-- secured-annotations = (@Secured("ROLE_ADMIN")) -->
<!-- jsr250-annotations = (@RunAs @RolesAllowed @PermitAll @DenyAll @DeclareRoles) -->
<!-- pre-post-annotations = @PreAuthorized("hasAuthority('ROLE_ADMIN')") -->
<global-method-security
secured-annotations="enabled"
jsr250-annotations="disabled"
pre-post-annotations="disabled">
</global-method-security>
@Secured可以承担一个或多个角色.
> @Secured(“ROLE_USER”)
> @Secured({“ROLE_USER”,“ROLE_ADMIN”})//如果用户具有此角色之一,则进行大访问
BWT:来自Spring Security 3 Book(http://www.springsecuritybook.com/):
The
@Secured
annotation is functionallz and syntactiallz the same as@RollesAllowed
… As@Secured
functions the same as the JSR standard@RollesAllowed
there’s not reallz a compelling reason to use it (@Secured
) in in new code…
(不要忘记启用它jsr250-annotations =“enabled”)
内容总结
以上是互联网集市为您收集整理的java – 如何检查方法级别的spring安全性全部内容,希望文章能够帮你解决java – 如何检查方法级别的spring安全性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。