請bang大哥指點一下JBoss的jaas授權過程!

aill發表於2005-06-27

jaas包括驗證和授權兩個過程

驗證就是判斷使用者名稱密碼是否正確

String username= request.getParameter("username");

String password= request.getParameter("password");

try{

SecurityAssociationHandler handler = new SecurityAssociationHandler();

SimplePrincipal user = new SimplePrincipal(username);

handler.setSecurityInfo(user, password.toCharArray());

LoginContext loginContext = new LoginContext("jaas_example",(CallbackHandler)handler);

loginContext.login();

Subject subject = loginContext.getSubject();

如果沒有錯誤就表示驗證通過

可是授權就比較麻煩了

本來是通過

Subject.doAs(subject, new PrivilegedAction(){public Object run(){}}); 去授權的,敏感的程式碼放到run()方法裡

但是web模型下,如果保護的是url那麼要如何進行授權呢,還有就是如果知道使用者剛才請求的url呢

也就是說action="j_security_check" 這個j_security_check裡的程式碼是怎麼處理的,我找不到這個Servlet?

問這樣的問題是因為:我想在第一次登陸的時候執行一些其他的初始化資訊,並且放到使用者session裡, 如果用jboss自帶的機制就沒法實現,所以小弟想做一個類似j_security_check的Servlet,

請bang大哥幫忙,謝謝啦

相關文章