1. 程式人生 > >登錄驗證流程及token處理

登錄驗證流程及token處理

content contain mod tro super pub pass -s name

一、登錄流程

1、先驗證驗證碼,通過以後調用登錄接口驗證密碼,否則返回登錄頁。

2、驗證密碼,如果相等返回result,否則返回空的result。

3、在controller中獲取result成功驗證token,否則返回登錄。

4、驗證token是否在cookie中,如果在則登錄成功,否則生成token放到sso cache中(一般用redis或者memcached中)

然後在放入cookie登錄成功。

下面是登錄的流程圖:

技術分享

二、過濾器驗證

1、首先在cookie中獲取token驗證token是否存在。

2、如果存在驗證token的正確性和是否過期,驗證不通過返回登錄頁,通過執行過濾器鏈。

3、如果token不存在,去內存中獲取token。

4、獲取不到返回登錄頁面,獲取到以後寫入cookie然後重定向訪問路徑。

過濾器驗證流程圖:

技術分享

三、一些相關代碼設計

User:

public class User {
private Integer userId;
private String userName;
private String userPassword;
private String userEmail;

}

Result:

public class Result {

/**
* 結果體
*/
protected Object data;

/**
* 狀態碼
*/
protected Integer code;

/**
* 信息
*/
protected String message;

private Result() {
super();
}

}

token格式:

private class DummyUser {
private LoginUser loginUser;//用戶信息類
private Date expired; // 過期時間
}

登錄驗證流程及token處理