Security Service--安全服務

    大多數的安全模塊是針對具體的應用的,顯著的缺點就是,每次新的程序都需要重新開發安全模塊。所以通用的安全組件服務就顯的必須了。JAAX(java authentication  and authorization service,JAVA 驗證授權服務)就爲我們提供了這樣的服務。

     JAAX 建立在可插入的認證模塊(Pluggable Authentication Module,PAM)的安全體系結構之上,也就是說可以無縫集成到任何的系統中。

    JAAX的兩個特性:驗證(authentication) 和 授權(authorization) 。

   驗證,也稱爲認證,EJB3.0 中驗證需要兩個參數,principal (本人)和 credentials(憑證) ,如在登錄過程中,principal 是賬戶 ,credentials 是密碼。

 

Properise props=new Propertise();
props.serProperty(Context.SECURITY_PRINCIPA,user);
props.serProperty(Context.SECURITY_CREDENTIALS,password);
 


登陸驗證這是最常見的驗證,當然驗證的憑證不一定是密碼,在實現上還可以是 密鑰,指紋識別,紅角膜等。這是PAM的體系結構的優點。

 

 

驗證是授權的前提,不同的角色根據已定義的 user.properties 和 roles.properties 配置文件 進行不同權限的授權。

在ejb3.O 中 權限可以定位到 同個類中的不同方法。

@javax.annotation.security.RolesAllowed({AdminRole});
public String Admin()
{
   return "通過在方法上的@RolesAllowed 註釋 ,標記只有AdminRole 纔可以訪問Admin()";
}

@javax.annotation.security.PermitAll
public String AllAllowed()
{
   return "任何已驗證的角色都可以訪問此方法";
}
 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章