|
@@ -18,6 +18,14 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
+type AnonymousAuth struct {
|
|
|
+ W http.ResponseWriter
|
|
|
+ R *http.Request
|
|
|
+ Session *httpsession.Session
|
|
|
+ GetSession map[string]interface{}
|
|
|
+ SetSession map[string]interface{}
|
|
|
+}
|
|
|
+
|
|
|
func initPrivatePublicKey() {
|
|
|
// 读取私钥文件
|
|
|
privateKeyBytes, err := ioutil.ReadFile("rsa_private_key.pem")
|
|
@@ -78,17 +86,17 @@ func initPrivatePublicKey() {
|
|
|
PublicKey = rsaPublicKey
|
|
|
}
|
|
|
|
|
|
-func AnonymousAuthentication(W http.ResponseWriter, R *http.Request, Session *httpsession.Session) {
|
|
|
- anonymousEid := Session.Get("anonymousEid")
|
|
|
- if anonymousEid != nil && anonymousEid != "" {
|
|
|
+func (sk *AnonymousAuth) Do() {
|
|
|
+ anonymousFid := sk.GetSession["anonymousFid"]
|
|
|
+ if anonymousFid != nil && anonymousFid != "" {
|
|
|
return
|
|
|
}
|
|
|
- fid, err := R.Cookie("fid")
|
|
|
+ fid, err := sk.R.Cookie("fid")
|
|
|
if err != nil {
|
|
|
log.Println("匿名用户获取fid失败", err.Error())
|
|
|
return
|
|
|
}
|
|
|
- eid, err := R.Cookie("eid")
|
|
|
+ eid, err := sk.R.Cookie("eid")
|
|
|
if err != nil {
|
|
|
log.Println("匿名用户获取eid失败", err.Error())
|
|
|
return
|
|
@@ -103,23 +111,22 @@ func AnonymousAuthentication(W http.ResponseWriter, R *http.Request, Session *ht
|
|
|
log.Printf("匿名用户身份验证不通过,eid:%s,fid:%s,eData:%s", eid.Value, fid.Value, eData)
|
|
|
return
|
|
|
}
|
|
|
- Session.Set("anonymousEid", eid.Value)
|
|
|
+ sk.Session.Set("anonymousFid", fid.Value)
|
|
|
//未登录用户增加匿名身份信息
|
|
|
- if Session.Get("mgoUserId") == nil || Session.Get("mgoUserId") == "" {
|
|
|
- log.Println("未登录用户增加匿名身份信息")
|
|
|
- agent := R.Header.Get("user-agent")
|
|
|
- md, _ := json.Marshal(R.Form)
|
|
|
+ if sk.GetSession["mgoUserId"] == nil || sk.GetSession["mgoUserId"] == "" {
|
|
|
+ agent := sk.R.Header.Get("user-agent")
|
|
|
+ md, _ := json.Marshal(sk.R.Form)
|
|
|
str := string(md)
|
|
|
data := map[string]interface{}{
|
|
|
- "ip": util.GetIp(R),
|
|
|
+ "ip": util.GetIp(sk.R),
|
|
|
"client": agent,
|
|
|
"os": util.GetOS(agent),
|
|
|
"browse": util.GetBrowse(agent),
|
|
|
- "fid": fid,
|
|
|
- "url": R.RequestURI,
|
|
|
+ "fid": fid.Value,
|
|
|
+ "url": sk.R.RequestURI,
|
|
|
"mdescribe": str,
|
|
|
- "refer": R.Referer(),
|
|
|
- "method": R.Method,
|
|
|
+ "refer": sk.R.Referer(),
|
|
|
+ "method": sk.R.Method,
|
|
|
"creation_time": time.Now().Unix(),
|
|
|
}
|
|
|
public.BaseMysql.Insert("anonymous_identity", data)
|