涓錛欰bstractProcessingFilter錛氭娊璞″鐞嗚繃婊ゅ櫒錛屽鐞嗗熀浜巋ttp-based鐨勮璇佽姹傦紝璇ヨ繃婊ゅ櫒涓昏璐熻矗澶勭悊璁よ瘉璇鋒眰錛屽鏋滆璇佹垚鍔燂紝緇撴灉瀵硅薄錛圓uthtication)灝嗕細(xì)琚斁鍒癝ecurityContext閲岄潰,SecurityContext蹇呴』淇濊瘉鏈変笂涓涓繃婊ゅ櫒鍒涘緩銆?br />濡傛灉楠岃瘉澶辮觸錛孉uthenticationException灝嗕細(xì)琚槻姝互鈥淎CEGI_SECURITY_LAST_EXCEPTION_KEY"涓哄悕鏀懼湪httpSession閲岄潰銆?br />涓轟簡浣跨敤璇ヨ繃婊ゅ櫒錛屽繀欏繪寚瀹氫互涓嬪睘鎬э細(xì)
1銆乨efaultTargetUrl錛氬綋楠岃瘉閫氳繃鏃訛紝浣滀負(fù)httpSession涓互"ACEGI_SAVED-REQUEST_KEY"瀛樺偍鐨勮漿鍚戣礬寰勩傝璺緞璁劇疆涓虹浉瀵硅礬寰勩?br />2銆乤uthenticationFailureUrl錛氶獙璇佸け璐ュ悗鐨勮漿鍚戣礬寰勶紝姣斿錛?login.jsp?login_error=1
3銆乫ilterProcessesUrl銆佽榪囨護(hù)鍣ㄥ搷搴旂殑璺緞銆?br />4銆乤lwaysUseDefaultTargetUrl銆佸湪鎴愬姛璁よ瘉鍚庯紝鎬繪槸杞悜defaultTargetUrl錛屽強(qiáng)鏃秇ttpSession鐨凙CEGI_SAVED-REQUEST_KEY鍙橀噺瀛樺偍鐨勭洰鏍囪礬寰勩?br />5銆佸彲浠ュ畾涔変竴涓猨ava.util.Properties鐨勮緗紝鏄犲皠鍏ㄧО鐨勫紓甯哥被鍚嶅拰杞悜璺緞鐨勬槧灝勫叧緋匯傛瘮濡傦細(xì)
鏈夎繖涓緗悗錛屽彧鏈夋病鏈夊尮閰嶅埌鐨勫紓甯告墠浼?xì)铦{鍚慳uthenticationFailureUrl銆?br />
濡傛灉璁よ瘉鎴愬姛錛宎cegi榪樹細(xì)鍙戝竷涓涓猳rg.acegisecurity.event.authentication.InteractiveAuthenticationSuccessEvent浜嬩歡鍒癮pplication context銆?br />
AuthenticationProcessingFilter緇ф壙AbstractProcessingFilter錛屽鐞嗚璇佺殑form璇鋒眰銆俵ogin form蹇呴』鏈変袱涓弬鏁癹_username,j_password.defaultFilterProcessesUrl璁劇疆涓洪粯璁ゅ?j_acegi_security_check銆?br />
浜岋細(xì)Authentication
琛ㄧず涓涓璇佽姹傦紝涓涓狝uthentication瀵硅薄涓嶈兘璁や負(fù)鏄凡緇忚璇佽繃鐨勶紝闄ら潪瀹冨凡緇忚AuthenticationManager澶勭悊榪囥傝瀵硅薄瀛樺偍鍦⊿ecurityContext閲岄潰銆?br />璇ユ帴鍙f彁渚涗簡浠ヤ笅鏂規(guī)硶錛?br />getAuthorities()錛氬緱鍒拌璁よ瘉瀵硅薄琚祴浜堢殑鏉冮檺銆?br />getCredentials()錛氬緱鍒板嚟璇侊紝涓鑸槸瀵嗙爜絳夈?br />getDetails()錛氬瓨鍌ㄥ叾瀹冪殑淇℃伅錛屾瘮濡俰p鍦板潃錛岃璇佸彿絳夈?br />getPrincipal()錛氬緱鍒拌鎺堟潈鐨勪富棰橈紝閫氬父鏄敤鎴峰悕銆俰sAuthenticated()錛氬垽鏂槸鍚﹁璇併?br />setAuthenticated(boolean isAuthenticated)錛氳緗槸鍚﹁璇併?br />涓夛細(xì)UserDetails
getAuthorities();榪斿洖鎺堜簣鐨勬潈闄愩?/p>
public String getPassword();榪斿洖瀵嗙爜銆?/p>
public String getUsername();榪斿洖鐢ㄦ埛鍚嶃?/p>
public boolean isAccountNonExpired();甯愬彿鏄惁榪囨湡銆?/p>
public boolean isAccountNonLocked();甯愬彿鏄惁閿佸畾銆?/p>
public boolean isCredentialsNonExpired();鍑瘉鏄惁榪囨湡銆?/p>
public boolean isEnabled();鏄惁鍙敤銆?br />

]]>