当前位置: 首页 > news >正文

瑜伽网站模版快速建站哪个平台好

瑜伽网站模版,快速建站哪个平台好,WordPress显示中文,天津网站制作工具序言#xff1a; 要在 Go 项目中实现类似 Java Shiro 的权限控制中间件#xff0c;我们可以分为几个步骤来实现用户的菜单访问权限和操作权限控制。以下是一个基本的实现框架步骤#xff1a; 目录 一、数据库设计 二、中间件实现 三、使用中间件 四、用户权限管理 五…序言 要在 Go 项目中实现类似 Java Shiro 的权限控制中间件我们可以分为几个步骤来实现用户的菜单访问权限和操作权限控制。以下是一个基本的实现框架步骤 目录 一、数据库设计 二、中间件实现 三、使用中间件 四、用户权限管理 五、测试 一、数据库设计 确保用户、权限和菜单表结构合理。例如 用户表users CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(255) NOT NULL,password VARCHAR(255) NOT NULL );权限表permissions CREATE TABLE permissions (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL );菜单表menus CREATE TABLE menus (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,permission_id INT,FOREIGN KEY (permission_id) REFERENCES permissions(id) );用户权限关联表user_permissions CREATE TABLE user_permissions (user_id INT,permission_id INT,PRIMARY KEY (user_id, permission_id),FOREIGN KEY (user_id) REFERENCES users(id),FOREIGN KEY (permission_id) REFERENCES permissions(id) );二、中间件实现 创建一个中间件用于检查用户的权限。示例代码如下 package middlewareimport (net/httpgithub.com/dgrijalva/jwt-go // 用于处理 JWT )type Claims struct {UserID uint json:user_idPermissions []string json:permissionsjwt.StandardClaims }func AuthMiddleware(allowedPermissions []string) http.HandlerFunc {return func(w http.ResponseWriter, r *http.Request) {tokenStr : r.Header.Get(Authorization)token, err : jwt.Parse(tokenStr, func(token *jwt.Token) (interface{}, error) {// 验证 token 的签名return []byte(your-secret-key), nil})if err ! nil || !token.Valid {http.Error(w, Unauthorized, http.StatusUnauthorized)return}claims, ok : token.Claims.(Claims)if !ok || !checkPermissions(claims.Permissions, allowedPermissions) {http.Error(w, Forbidden, http.StatusForbidden)return}// 继续处理请求next.ServeHTTP(w, r)} }func checkPermissions(userPermissions, allowedPermissions []string) bool {for _, userPerm : range userPermissions {for _, allowedPerm : range allowedPermissions {if userPerm allowedPerm {return true}}}return false }三、使用中间件 在路由中使用这个中间件 package mainimport (net/httpgithub.com/gorilla/muxyour_project/middleware )func main() {r : mux.NewRouter()r.HandleFunc(/admin, AdminHandler).Methods(GET)r.Use(middleware.AuthMiddleware([]string{admin})) // 仅允许 admin 权限用户访问http.ListenAndServe(:8080, r) }func AdminHandler(w http.ResponseWriter, r *http.Request) {w.Write([]byte(Welcome to the admin panel)) }四、用户权限管理 确保用户在登录后获取其权限并存储在 JWT 中。可以在登录时查找用户的权限并在生成 JWT 时添加它们。 五、测试 使用 Postman 或其他工具进行测试确保你的权限控制正常工作。这个框架是一个基本的实现具体可以根据你的需求进一步扩展和优化比如加入角色管理、复杂的权限结构等
http://www.dnsts.com.cn/news/108416.html

相关文章:

  • 站酷网vi设计html静态网站模板
  • 网站建设品牌公司推荐长春网站建设哪家好
  • 网站备案对应的ip地址网络服务代码1001
  • 企业网站设计服务口碑好的常州做网站
  • 自己做网站背景图片seo岗位有哪些
  • 深圳的设计企业网站建盏生态公司
  • 云南网站备案系统宁波外贸公司排名前十
  • 进行网站建设有哪些重要意义儿童网站模板 html
  • 杭州竞彩网站开发个人介绍网站内容
  • 化妆品网站建设目的自己买服务器能在wordpress建网站
  • 滁州seo网站推广方案广州 网站建设模板
  • 培训门户网站源码百度竞价排名一年费用
  • 制作网站哪家强小兵cms个人网站模板
  • 微网站开发用手机制作ppt用什么软件
  • 用软件建网站wordpress分享有图片
  • asp简单的网站怎么做手机网站cms
  • 千博企业网站管理系统 下载域名申请了怎么做网站
  • 商城网站模板库人人商城网站开发
  • 网站制作的页面比例郑州专业网站优化
  • 网站开发价目表网络公司排名兴田德润
  • 国外效果超炫网站wordpress链接前面的图标
  • 实名网站空间潍坊网站制作保定公司
  • 做网站工作图seo提高关键词
  • 广告公司 网站制作做网站用什么开发好
  • 网站建设昆明房屋装修报价
  • wordpress个人站海西高端网站建设
  • 如何给网站加关键词聊天app开发报价单
  • 销售网站建设怎么做新网wordpress域名解析
  • 什么网站可以免费做护师题建筑人才网一砖一瓦
  • 在网站上做的图表怎么放到PPT里面在线免费网站建设平台