標籤:產生 ace 請求 rate 使用者 family manage 核心 自己
1 簡述 web.xml 中 listener, filter, servlet 的作用。
listener:監聽 網頁伺服器中的執行動作,並根據要求作出相應的
響應;
filter:用於對
使用者的請求進行預先處理和對伺服器的響應進行後處理
servlet:運行在服務端的用於動態產生 web 頁面的應用程式
2 查閱 httpSession 和 httpCookie 的API,他們是介面?對象?
javax.servlet.http Interface HttpSession 是介面
javax.servlet.http Class Cookie 是對象
3 用自己的話,簡述 “Check Authentication using Spring MVC and Handler Interceptor” 程式認證過程
① 攔 截 器 AuthenticationInterceptor 攔 截 到 該 請 求 , 調 yongpreHandle 函數判斷請求的 URI 是否為 "/sample-interc/"、"/sample-interc/login.do" 或 "/sample-interc/login.failed"。如果不是,判斷使用者是否已經登入,是則函數返回 true,否則函數返回false
② 接著在控制器中判斷使用者輸入的使用者名稱和密碼是否有效,如果有效則設定 session 並重新導向到 welcome 頁面,否則重新導向到login.failed 頁面
4 用案例簡述 Shiro 認證與授權的過程。
①調用Subject.login(token)進行登入,其會自動委託給SecurityManager,調用之前必須通過SecurityUtils.setSecurityManager()設定;
②SecurityManager負責真正的身分識別驗證邏輯;它會委託給Authenticator進行身分識別驗證;
③Authenticator才是真正的身分識別驗證者,ShiroAPI中核心的身份認證進入點,此處可以自訂插入自己的實現;
④Authenticator可能會委託給相應的AuthenticationStrategy進行Realm身分識別驗證;
⑤Authenticator會把相應的token傳入Realm,從Realm擷取身分識別驗證資訊,如果沒有返回/拋出異常表示身分識別驗證失敗了。此處可以配置多個Realm,將按照相應的順序及策略進行訪問。
分散式運算(七)——Web 授權與認證