[英]Spring Security: Securing URL and Parameters
我有一个要求,其中应用程序需要根据用户具有的角色和参数传递来保护用户的URL。
例如:有四个角色PREVIEW_VIEW,PREVIEW_MODIFY,PUBLIC_VIEW,PUBLIC_MODIFY
URL命中为http:// myapp:8080 / console / editGroups.action?orgId = 1&recipientType = PREVIEW
假设用户仅具有“ PUBLIC_VIEW”和“ PUBLIC_MODIFY”权限。
如果用户传递参数'recipientType = PREVIEW',则仅当用户具有'PREVIEW_MODIFY'权限时,页面才可访问。
那么如何一起保护URL和参数呢?
即仅在用户具有PREVIEW_MODIFY权限的情况下才允许此URL( http:// myapp:8080 / console / editGroups.action?orgId = 1&recipientType = PREVIEW )并允许该URL( http:// myapp:8080 / console / editGroups.action ?orgId = 1&recipientType = PUBLIC ),仅当用户具有PUBLIC_MODIFY权限时
谢谢
车丹
对我来说,这是错误的处理方式。 客户端可以根据定义更改URL,因为由客户端本身来决定呼叫谁或呼叫什么。 因此,URL是放置安全信息的最糟糕的地方。 此外,如果您需要这样走,我想您只能利用加密技术。
服务器是决定客户端与哪个角色相关联的服务器,因此它强制客户端将参数与其角色组合一起包括在内。 当然,这必须是encypted(对称加密也就足够了),因为客户端必须不能改变它,无论如何。
当客户端执行请求时,服务器将检索加密的属性并将其解密以获得客户端的角色。
如果需要使该属性易于理解,则可以清楚地显示它,并使用其他加密的HASH参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.