我剛在遺留應用程序中發現了一些奇怪的東西。有在名稱中連字符定義的安全角色:帶連字符/短劃線的安全角色名稱
App-users
App-administrators
App-superUsers
我做了一些測試,以確保用戶根據自己的角色看到正確的數據,但在代碼中,我看到了request.isUserInRole()
通話不被通過完整的角色名稱,而不是連字符後面的文本:
request.isUserInRole("superUsers");
我預計檢查角色的調用將返回false,但它們返回true。有誰知道爲什麼會發生?
這個問題最好適合在[security.stackexchange](http://security.stackexchange.com/) –
我不同意。我正在問一個Java-ee的特定功能,這個論壇有更多的Java-ee開發人員。 –
@VikasV我不是100%肯定這個問題會更適合security.stackexchange。這似乎更關注於更一般的安全問題,而這是一個非常具體的Java EE API,甚至可能是所使用的實現中的一個錯誤。 –