このアップデート:
V1.12.1 1. GFのアップグレード
2.認証と他のミドルウェアの実行順序を調整しやすい、グローバル傍受のサポートに参加します
// 启动gtoken
gtoken := >oken.GfToken{
LoginPath: "/login",
LoginBeforeFunc: loginFunc,
LogoutPath: "/user/logout",
AuthPaths: g.SliceStr{"/user", "/system"}, // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
GlobalMiddleware: true, // 开启全局拦截,默认关闭
}
gtoken.Start()
gtokenはじめに
サーバによって実装ベースのトークンプラグ-GFのフレームワークは、認証トークン認証、すでに完全にオンライン認証トークン、およびモードをクラスタリングするためのサポートをサポートし、シンプルを使用するには、保証することができます。
- Gcache支持体は、スタンドアロンおよびクラスタモードをgredis。
# 配置文件
# 缓存模式 1 gcache 2 gredis
cache-mode = 2
- これは、単純な認証トークンをサポートしています
- 自動更新機能を追加しましたキャッシング
// 注:通过MaxRefresh,默认当用户第五天访问时,自动再进行五天续期
// 超时时间 默认10天
Timeout int
// 缓存刷新时间 默认为超时时间的一半
MaxRefresh int
- 個々のニーズに基づいたグローバル傍受やインターセプトパス深さ、簡単にカスタマイズインターセプタをサポートしています
// 是否是全局认证
GlobalMiddleware bool
- シンプルなフレームワーク、唯一のログイン認証方式、およびログイン、ログアウト、傍受へのパスを使用しました。
- githubの住所:https://github.com/goflyfox/gtoken
- gitee住所:https://gitee.com/goflyfox/gtoken
gtoken利点
- JWT効果的に終了することはできません問題のサーバーを避けます。
- あなたはJWT無効なトークンが発行されている解決することはできません。
- 拡張ユーザー情報は、まだ効果的に伝送容量を減らすことができ、サーバーに保存されています。
- gtokenのサポート、シングルポイントのアプリケーションがメモリストレージを使用し、また、クラスタのRedisストレージの使用をサポートしています。
- 支持体は、自動更新をキャッシュし、達成するために、クライアントを必要としません。
インストールのチュートリアル
- gopathモード:
go get github.com/goflyfox/gtoken
- またはgo.modの使用を追加します。
require github.com/goflyfox/gtoken latest
説明書
あなただけがパスをブロックし、ログインパス、パスアウトを設定し、パリティを達成するためにログオンする必要があります
//スタートgtoken gtoken :=。&Gtoken GfToken { LOGINPATH: " /ログイン"、 LoginBeforeFunc:loginFunc、 LogoutPath: " /ユーザ/ジンバブエログアウト"、 AuthPaths:G SliceStr { " /ユーザ"、 " /システム" }、 //これは、接頭辞傍受、盗聴/ユーザー/ユーザー/リスト/ユーザー/追加...によるものである GlobalMiddleware: trueに、 //デフォルトではオフにオープングローバル傍受 } gtoken。[スタート]()
ログインメソッドの実装
FUNC ログイン(R * ghttp。要求)(文字列、インターフェイス {}){ ユーザー名 := R。GetPostString("ユーザ名") passwdの := R。GetPostString(" passwdの")// TODO进行登录校验戻り、ユーザ名" " }
ロジックテスト
Api_test.go走行テストし、結果を表示、検証ロジックの説明:
- ユーザー情報へのアクセスは、ヒントはトークン運びません
- ログインすると、通常のアクセストークンを運びます
- ログアウトに成功
- 未登録ことを示唆し、トークンの訪問を行う前に
--- PASS:TestSystemUser(0.00秒) api_test.go:43:1。ないログインおよび訪問ユーザ api_test.go:50:{ "コード":-1、"データ":" "、" MSG ":"クエリ失敗トークン" } api_test.go:63:2。ログインおよび訪問ユーザーの実行 :api_test.go 66:{ "コード":0、"": "成功" "データ": "システムユーザ" } api_test.go: 72: 3。ログアウト実行 :api_test.go 75:{ "コード": 0、 " MSG ": "成功" "データ」: "ログアウト成功" } api_test.go: 81: 4。 api_test.go: 86:{ "コード":-1、" MSG ":"ログイン・タイムアウトかログイン"、"データ":" " }
感謝
- GFフレームワーク https://github.com/gogf/gf