我的問題是,我有一個用Java編寫的Web服務,我想給用戶特定的授權,例如,userA應該只訪問methodA,userB應該只訪問methodB。我怎樣才能做到這一點?如何限制某些Web服務方法給某些用戶?
非常感謝。
我的問題是,我有一個用Java編寫的Web服務,我想給用戶特定的授權,例如,userA應該只訪問methodA,userB應該只訪問methodB。我怎樣才能做到這一點?如何限制某些Web服務方法給某些用戶?
非常感謝。
您可以通過多種方式完成此操作,這完全取決於您的部署。但是就像在黑暗中拍攝一樣,你可以在你的web.xml中限制這個。
在web.xml中創建一個安全約束...
<security-constraint>
<web-resource-collection>
<web-resource-name>MRC Customer Care</web-resource-name>
<url-pattern>/protected/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>
然後,映射這個角色(role1上)給用戶...
<tomcat-users>
<user name="role1" password="tomcat" roles="role1" />
</tomcat-users>
有效的用戶將能夠在/ protected /上找到你的URI,假設你的web服務在那裏,那麼無效的用戶將收到403.
這是一個潛在的答案。
我認爲,這樣做的最簡單,最標準化的方法是春季的安全性,我覺得它很容易使用,閱讀更多關於它在這裏:http://www.mkyong.com/tutorials/spring-security-tutorials/
如果你不希望它的一些原因,javax.servlet.Filter是要走的路。
感謝您的回覆。我想知道,用這種方式,用戶能夠看到受限制的方法,它是如何工作的? – emre
您是否已經實施過任何一項春季課程?它通常與SpringMVC一起使用。 – david99world
@emre如果未登錄的用戶嘗試訪問受限制/受保護的URL,它將被重定向到由spring-security提供的登錄頁面(您可以通過它提供的鏈接)來引用我在初始文章中提供的鏈接如果他已經登錄但沒有訪問該URL的權限,他將看到一個403頁面或類似的東西。 – comanitza
有了某種認證和權限系統?像登錄一樣,例如... –
您使用的是什麼服務器?你在使用Spring嗎? – david99world
這是一個太寬泛的問題。你使用的是什麼框架?什麼是您的應用程序的結構(它是一個Web應用程序)?如果適用,JEE的哪個版本?你如何識別用戶? – Perception