0
最近question上SO導致我的舊answer有關Java安全管理。我在這個答案中關於這一行的問題:安全管理員很少在服務器上使用?
雖然安全管理器會影響性能,但很少在服務器端使用。
可有人請支持這一行動或反駁?我以爲有總是安全管理器,一個自定義的或默認的,並且容器一直使用它。
最近question上SO導致我的舊answer有關Java安全管理。我在這個答案中關於這一行的問題:安全管理員很少在服務器上使用?
雖然安全管理器會影響性能,但很少在服務器端使用。
可有人請支持這一行動或反駁?我以爲有總是安全管理器,一個自定義的或默認的,並且容器一直使用它。
在服務器端的代碼,你自己寫的,我想不出任何需要你使用SecurityManager的,因爲如果你正在寫的代碼在您應用程序執行一些操作,這是不可能的您需要檢查您的代碼是否具有您授予的權限。
例如,很多在安全管理器的方法與IO操作 - checkDelete()
,checkRead()
,checkWrite()
等。JDK類庫當您試圖創建/寫/讀/刪除的文件,將調用這些方法,所以自己打電話會毫無意義。
所以這是不可能的,你的服務器端代碼會掙很多使用的SecurityManager的。但是,你的代碼在運行的代碼 - 如果你是在例如一個servlet容器部署 - 可能會利用這些方法,因爲他們有興趣確定是否您代碼有權限,該權限他們給它的一些水平。
如果我理解你的權利,你的意思是在服務器頂級容器*將*使用'SecurityManager'落實上部署到它(任意)內容安全政策,但沒有必要在部署個人使用上單位本身。正確? – 2013-02-15 21:41:30
是的,至少我不能想到需要。例如,Tomcat的管理員可能會對所包含的Web應用程序可以執行的操作設置某些權限。 – 2013-02-15 21:56:20