繁体   English   中英

Spring MVC和JSON中的安全性

[英]Security in Spring MVC and JSON

我想以这种或那种方式为发送和获取JSON数据提供安全性,但我不知道如何做到这一点。

我们的系统具有用户角色(系统管理员,一般会员等)

我们决定使用Spring MVC URL模式将数据发送为JSON。 我不希望系统外的所有人都使用此URL,只有用户才能使用该URL。

www.example.com/services/"hereUserPass"/"hereUserName"/category/3

每个请求时间为不同的URL,我应该控制用户名和密码是否注册之前? 或者我应该为安全做些什么?

您希望在Spring Web应用程序中实现安全性。 您可以通过两种方式执行此操作:

  • 基于网址的安全性
  • 基于方法的安全性

尝试创建另一个xml文件,就像applicationContext-security.xml一样,这是一个例子:

<http use-expressions="true">
    <intercept-url pattern="/" access="permitAll"/>
    <intercept-url pattern="/static/**" filters="none" />
    <intercept-url pattern="/**" access="isAuthenticated()" />
    <form-login />
    <logout />
</http>

在这里,我们看到permitAll意味着允许每个想要访问该URL的人。 filters = none具有相同的效果,但这意味着用户不会检查Spring Security(以前的安全性超过了Spring Security但有访问权限,不应用过滤)。 isAuthenticated意味着用户可以通过身份验证到达那里。 您还可以将基于角色的访问应用于URL。

基于中间层安全性的其他安全实现。 您应该在应用程序上下文安全文件中添加此行:

<global-method-security pre-post-annotations="enabled" />

所以您可以使用基于方法的安全性,如:

@PreAuthorize("hasRole('ROLE_SUPERVISOR')")
void storeVisit(Visit visit) throws DataAccessException;

您可以开始阅读Spring的Pet Clinic示例的Spring Security实现: http//static.springsource.org/spring-security/site/petclinic-tutorial.html

我建议你在这里阅读: http//www.mularien.com/blog/2008/07/07/5-minute-guide-to-spring-security/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM