1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java 权限设计rcba_MVC基于角色权限控制--管理角色

java 权限设计rcba_MVC基于角色权限控制--管理角色

时间:2023-02-07 16:43:55

相关推荐

java  权限设计rcba_MVC基于角色权限控制--管理角色

管理角色分为添加角色、删除角色、修改角色、给角色分配权限(修改角色权限)

新建RoleInfoController继承BaseController

namespace CZBK.ItcastOA.WebApp.Controllers

{

public class RoleInfoController : BaseController

{

//

// GET: /RoleInfo/

IBLL.IRoleInfoService RoleInfoService { get; set; }

IBLL.IActionInfoService ActionInfoService { get; set; }

public ActionResult Index()

{

return View();

}

#region 获取角色列表

public ActionResult GetRoleInfoList()

{

int pageIndex = Request["page"] != null ? int.Parse(Request["page"]) : ;

int pageSize = Request["rows"] != null ? int.Parse(Request["rows"]) : ;

int totalCount;

short delFlag=(short)DeleteEnumType.Normarl;

var roleInfoList = RoleInfoService.LoadPageEntities(pageIndex,pageSize,out totalCount,r=>r.DelFlag==delFlag,r=>r.ID,true);

var temp = from r in roleInfoList

select new { ID = r.ID, RoleName = r.RoleName, Sort = r.Sort, SubTime = r.SubTime,Remark=r.Remark };

return Json(new { rows=temp,total=totalCount},JsonRequestBehavior.AllowGet);

}

#endregion

#region 展示添加表单

public ActionResult ShowAddInfo()

{

return View();

}

#endregion

#region 完成角色信息添加

public ActionResult AddRoleInfo(RoleInfo roleInfo)

{

roleInfo.ModifiedOn = DateTime.Now;

roleInfo.SubTime = DateTime.Now;

roleInfo.DelFlag = ;

RoleInfoService.AddEntity(roleInfo);

return Content("ok");

}

#endregion

#region 展示要分配的权限

public ActionResult ShowRoleAction()

{

int id = int.Parse(Request["id"]);

var roleInfo = RoleInfoService.LoadEntities(r=>r.ID==id).FirstOrDefault();//获取要分配的权限的角色信息。

ViewBag.RoleInfo = roleInfo;

//获取所有的权限。

short delFlag = (short)DeleteEnumType.Normarl;

var actionInfoList= ActionInfoService.LoadEntities(a=>a.DelFlag==delFlag).ToList();

//要分配权限的角色以前有哪些权限。

var actionIdList = (from a in roleInfo.ActionInfo

select a.ID).ToList();

ViewBag.ActionInfoList = actionInfoList;

ViewBag.ActionIdList = actionIdList;

return View();

}

#endregion

#region 完成角色权限的分配

public ActionResult SetRoleAction()

{

int roleId = int.Parse(Request["roleId"]);//获取角色编号

string[] allKeys = Request.Form.AllKeys;//获取所有表单元素name属性的值。

List list = new List();

foreach (string key in allKeys)

{

if (key.StartsWith("cba_"))

{

string k = key.Replace("cba_","");

list.Add(Convert.ToInt32(k));

}

}

if (RoleInfoService.SetRoleActionInfo(roleId, list))

{

return Content("ok");

}

else

{

return Content("no");

}

}

#endregion

}

}

RoleService中添加为角色分配权限的方法

先删除该角色所有权限,然后再添加

///

/// 为角色分配权限

///

/// 角色编号

/// 权限编号列表

///

public bool SetRoleActionInfo(int roleId, List actionIdList)

{

//获取角色信息.

var roleInfo = this.CurrentDBSession.RoleInfoDal.LoadEntities(r=>r.ID==roleId).FirstOrDefault();

if (roleInfo != null)

{

roleInfo.ActionInfo.Clear();

foreach (int actionId in actionIdList)

{

var actionInfo = this.CurrentDBSession.ActionInfoDal.LoadEntities(a=>a.ID==actionId).FirstOrDefault();

roleInfo.ActionInfo.Add(actionInfo);

}

return this.CurrentDBSession.SaveChanges();

}

return false;

}

rbac(基于角色权限控制)-------权限管理

权限管理 创建一个rbac和app的应用,这个rbac主要是用来存放权限的,全称叫做基于角色权限控制 一.先看配置文件合适不,给创建的rbac在配置文件里面设置一下 找到INSTALLED_APPS= ...

springboot + 注解 + 拦截器 + JWT 实现角色权限控制

1.关于JWT,参考: (1)10分钟了解JSON Web令牌(JWT) (2)认识JWT (3)基于jwt的token验证 2.JWT的JAVA实现 Java中对JWT的支持可以考虑使用JJWT开源 ...

RBAC角色权限控制

RBAC角色权限控制 1. user (用户表) * 用户的基本信息(mid:用户信息id 如图) 2. node (节点表) * 页面(模块\控制器\方法) 3. role_node(角色.节点 ...

ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理

在前面两篇随笔和开始 ...

自定义Spring Security权限控制管理(实战篇)

上篇介绍了Spring Security权限控制管理的源码及实现,然而某些情况下,它默认的实现并不能满足我们项目的实际需求,有时候需要 ...

ASP.MVC 基于AuthorizeAttribute权限设计案例

ASP.MVC上实现权限控制的方法很多,比如使用AuthorizeAttribute这个特性 1.创建自定义特性用于权限验证 public class AuthorizeDiy : Authorize ...

MVC基于角色权限控制--用户管理

用户管理模块包括新增用户.修改用户.展示用户列表.删除用户.用户角色分配.用户角色删除.用户权限分配 这里只介绍关于权限有关的用户角色分配.用户角色删除.用户权限分配 新建控制器 UserInfo ...

MVC基于角色权限控制--数据库设计

在网站后台设计过程中都会遇上权限控制这一问题 当前较为流行的解决方案是基于角色的权限管理 基本思路如下 分别建立用户信息表.角色信息表.权限信息表 让用户和角色关联,角色和权限关联,当用户访问时,通 ...

随机推荐

spring提供的解决中文乱码方案

在表单提交时,如果遇到中文符号会出现乱码问题. Spring提供一个CharacterEncodingFilter过滤器,可用于解决乱码问题. CharacterEncodingFilter使用的时候 ...

Docker Centos安装Mysql5.6

之前一篇随笔写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...

(组合数学3.1.1.2)UVA 10098 Generating Fast(使用字典序思想产生所有序列)

/* * UVA_10098.cpp * * Created on: 10月8日 * Author: Administrator */ #include # ...

一只菜鸟的瞎J8封装系列的目录

因为这是一个系列...也就是我们所说的依赖关系.后面很多方法都是基于我前面封装的工具来进行的,所以我列一个目录供大家参考... 一只菜鸟的瞎J8封装系列 一.手把手封装数据层之DButil数据库连接 ...

山东省网络安全技能大赛 部分writeup

web1 提示:ip不在范围内 直接抓包加client-ip: 127.0.0.1 即可得到flag web2 <?php include'here.php';$key='kela ...

SORT--不要仅限于题目中

输入n,m 表示输入n个数输出前m个最大的数 Input The input file contains many test cases. Each case has 2 lines. The fir ...

Angular2 -- 生命周期

组件生命周期钩子 指令和组件的实例有一个生命周期:新建.更新和销毁. 每个接口都有唯一的一个钩子方法,它们的名字是由接口名加上 ng前缀构成的.比如,OnInit接口的钩子方法叫做ngOnInit. ...

Markdown中的表格

参考:在简书上用Markdown写表格 | Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | r ...

MySql 复制表命令

1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2; 或 CREATE TABLE 新表 LIKE 旧表 ; 注意上面两种方式,前一种方式是不 ...

phpredis 中文手册和redis 教程

phpredis 中文手册 : /zcy_soft/archive//09/21/2697006.html 手册: ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。