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

两个域名指向同一个网站网站建设包含什么

两个域名指向同一个网站,网站建设包含什么,苏州建设工程招标在哪个网站,网站建设捌金手指花总六将权限信息存储在数据库中#xff0c;支持动态调整。根据用户所属的角色、特定的功能模块#xff0c;动态加载权限” 1. 数据库设计 根据这种需求#xff0c;可以通过以下表设计#xff1a; 用户表 (Users)#xff1a;存储用户信息。角色表 (Roles)#xff1a;存储角色…将权限信息存储在数据库中支持动态调整。根据用户所属的角色、特定的功能模块动态加载权限” 1. 数据库设计 根据这种需求可以通过以下表设计 用户表 (Users)存储用户信息。角色表 (Roles)存储角色信息。模块表 (Modules)存储系统的功能模块。权限表 (Permissions)存储权限信息。用户角色表 (UserRoles)存储用户和角色的关系一个用户对应一个角色。角色权限表 (RolePermissions)存储角色与权限的关系允许不同用户的权限定制。用户权限表 (UserPermissions)为每个用户定制权限可覆盖角色权限。 表结构 -- 用户表 CREATE TABLE Users (UserId INT PRIMARY KEY,UserName VARCHAR(100) );-- 角色表 CREATE TABLE Roles (RoleId INT PRIMARY KEY,RoleName VARCHAR(100) );-- 模块表 CREATE TABLE Modules (ModuleId INT PRIMARY KEY,ModuleName VARCHAR(100) );-- 权限表 CREATE TABLE Permissions (PermissionId INT PRIMARY KEY,PermissionName VARCHAR(100) );-- 用户角色表每个用户对应一个角色 CREATE TABLE UserRoles (UserId INT,RoleId INT,FOREIGN KEY (UserId) REFERENCES Users(UserId),FOREIGN KEY (RoleId) REFERENCES Roles(RoleId) );-- 角色权限表角色与权限的关系一个角色可以有多个权限 CREATE TABLE RolePermissions (RoleId INT,PermissionId INT,ModuleId INT,FOREIGN KEY (RoleId) REFERENCES Roles(RoleId),FOREIGN KEY (PermissionId) REFERENCES Permissions(PermissionId),FOREIGN KEY (ModuleId) REFERENCES Modules(ModuleId) );-- 用户权限表为用户定制权限覆盖角色权限 CREATE TABLE UserPermissions (UserId INT,PermissionId INT,ModuleId INT,FOREIGN KEY (UserId) REFERENCES Users(UserId),FOREIGN KEY (PermissionId) REFERENCES Permissions(PermissionId),FOREIGN KEY (ModuleId) REFERENCES Modules(ModuleId) );2. 权限加载逻辑 用户角色每个用户通过 UserRoles 表与一个角色关联。角色权限通过 RolePermissions 表为角色分配权限。用户权限通过 UserPermissions 表为用户定制权限覆盖角色的默认权限。 3. 权限查询 查询用户权限首先通过 UserRoles 获取该用户的角色再通过 RolePermissions 查询该角色的权限。然后如果该用户有自定义权限可以通过 UserPermissions 覆盖角色权限。 查询用户权限的顺序 查询用户所属角色。查询该角色的权限。查询该用户是否有自定义权限。 示例查询 -- 查询用户的角色 SELECT r.RoleId, r.RoleName FROM Users u JOIN UserRoles ur ON u.UserId ur.UserId JOIN Roles r ON ur.RoleId r.RoleId WHERE u.UserId UserId;-- 查询角色的权限 SELECT p.PermissionName FROM RolePermissions rp JOIN Permissions p ON rp.PermissionId p.PermissionId WHERE rp.RoleId RoleId AND rp.ModuleId ModuleId;-- 查询用户的自定义权限如果有 SELECT p.PermissionName FROM UserPermissions up JOIN Permissions p ON up.PermissionId p.PermissionId WHERE up.UserId UserId AND up.ModuleId ModuleId;4. C# 代码实现 获取用户权限 public class PermissionService {private string connectionString your_connection_string;// 获取用户权限public Liststring GetPermissionsByUserId(int userId, int moduleId){Liststring permissions new Liststring();using (SqlConnection connection new SqlConnection(connectionString)){connection.Open();// 获取用户角色string roleQuery SELECT r.RoleIdFROM Users uJOIN UserRoles ur ON u.UserId ur.UserIdJOIN Roles r ON ur.RoleId r.RoleIdWHERE u.UserId UserId;SqlCommand roleCommand new SqlCommand(roleQuery, connection);roleCommand.Parameters.AddWithValue(UserId, userId);int roleId (int)roleCommand.ExecuteScalar();// 获取角色权限string rolePermissionQuery SELECT p.PermissionNameFROM RolePermissions rpJOIN Permissions p ON rp.PermissionId p.PermissionIdWHERE rp.RoleId RoleId AND rp.ModuleId ModuleId;SqlCommand rolePermissionCommand new SqlCommand(rolePermissionQuery, connection);rolePermissionCommand.Parameters.AddWithValue(RoleId, roleId);rolePermissionCommand.Parameters.AddWithValue(ModuleId, moduleId);SqlDataReader reader rolePermissionCommand.ExecuteReader();while (reader.Read()){permissions.Add(reader.GetString(0)); // 角色权限}reader.Close();// 获取用户自定义权限如果有string userPermissionQuery SELECT p.PermissionNameFROM UserPermissions upJOIN Permissions p ON up.PermissionId p.PermissionIdWHERE up.UserId UserId AND up.ModuleId ModuleId;SqlCommand userPermissionCommand new SqlCommand(userPermissionQuery, connection);userPermissionCommand.Parameters.AddWithValue(UserId, userId);userPermissionCommand.Parameters.AddWithValue(ModuleId, moduleId);SqlDataReader userReader userPermissionCommand.ExecuteReader();while (userReader.Read()){permissions.Add(userReader.GetString(0)); // 用户自定义权限}}return permissions;} }public class AccessControlService {private PermissionService permissionService new PermissionService();// 检查用户是否有权限public bool CanAccessModule(int userId, int moduleId, string requiredPermission){Liststring permissions permissionService.GetPermissionsByUserId(userId, moduleId);return permissions.Contains(requiredPermission); // 判断用户是否拥有特定权限} }5. 总结 用户与角色的关系一个用户对应一个角色多个用户可以对应相同角色。角色与权限的关系角色通过 RolePermissions 表分配权限一个角色可以对应多个权限。用户自定义权限通过 UserPermissions 表为用户定制权限覆盖角色的默认权限。灵活的权限控制用户的权限不仅继承自角色还可以根据需要定制确保权限控制的灵活性。
http://www.hkea.cn/news/14447670/

相关文章:

  • 网站平台建设需求的意见wordpress产品增加视频
  • 计算机网站设计怎么做石家庄便宜做网站
  • 怎么建立网站的步骤怎么创建小程序商店
  • 06628 网页制作与网站建设网页设计师中级技能要求
  • 河北住房和城乡建设厅网站首页石家庄做企业网站最好的公司
  • vi设计整套宁波seo推广推荐公司
  • 中国建设执业资格注册中心网站百度推广后台管理
  • 外贸营销网站怎么建设网站开发 商标第几类
  • 企梦网站建设wordpress 哪个好用吗
  • 跨国购物网站建设费用做爰片在线看网站
  • 花店网站首页模版广州市场调研公司
  • 学做网站开发要1万6河南最新消息
  • 设计网站推广公司网页制作如何做阅读网站
  • 正规网站建设首选公司wordpress免费教程视频
  • 营销创意网站合肥网络公司网站建设
  • 网站推广网站策划电商网站建设商业计划书
  • 东莞哪里做网站没有网站怎么做淘宝客
  • 门户网站 制作多少钱外贸是什么
  • 机场建设网站整站优化该怎么做
  • 如何配置iis网站网络营销策略的概念
  • 卫计局网站建设工作总结室内设计与装修杂志
  • 南阳关键词优化广州seo网站推广平台
  • 免费做外贸网站高品质网站设计制作
  • 做木业网站怎样起名二次开发信模版
  • 官网建站网站工信部网站黑名单
  • wordpress 相邻文章上海网站seo
  • 建设网站过程视频云主机和云虚拟主机
  • 网站界面 ui 设计答案中山制作网站的公司吗
  • 做网站那个平台好手机硬件开发
  • 手机网站开发用什么框架好网络平台制作公司