5月27日 权限管理

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,我们所做就是为了实现这一功能。

1.main.php页面:

通过ajax可以在当前页面实现对用户的管理权限进行设定,可显示已经设定好的权限,可以增删

2.chuli.php页面:

通过用户代号找到相应的角色代号,将数据传回main.php页面,实现现有权限的选中状态

3.add.php页面;

点击确定按钮,将用户及选中的权限值传到该页面进行操作,添加到数据库

4.log.php页面;

通过用户名,密码登录

5.logchuli.php页面:

判断用户名,密码是否一致,成功登录主页面,及可使用功能页面

6.zhuye.php页面;

将已经设定好的权限显示出来,每个人的限制不同显示的功能不同

main.php页面:

<head>
<script src="../jquery-2.2.3.min.js"></script>
</head>

<body>
<h1>管理权限</h1>
<div>请选择用户:
<select id="user">
<?php
include("../DBDA.class.php");
$db = new DBDA();
$sql = "select * from userso";
$attr = $db->Query($sql);
foreach($attr as $v)
{
    echo "<option value=‘{$v[0]}‘ >{$v[2]}</option>";
}

?>
</select>
</div>

<div>请选择角色:</div>
<div>
<?php
$sqljs = "select * from juese";
$attr = $db->Query($sqljs);

foreach($attr as $v)
{
    echo "<input type=‘checkbox‘ value=‘{$v[0]}‘ class=‘js‘/>{$v[1]}";
}
?>
</div>

<div><input type="button" value="确定" id="btn" /></div>

</body>

<script type="text/javascript">
$(document).ready(function(e) {
    ShowJueSe();

    $("#user").change(function(){

         ShowJueSe();
        })
        function ShowJueSe()
        {
            var uid = $("#user").val();
        $.ajax({
            url:"chuli.php",
            data:{uid:uid},
            type:"POST",
            dataType:"TEXT",
            success: function(data){

                var shuju = data.split("|");//角色名
                var ck = $(".js");//所有复选框
                ck.prop("checked",false);
                for(var i =0;i<ck.length;i++)
                {
                    var v = ck.eq(i).val();
                    if($.inArray(v,shuju)>=0)
                    {
                        ck.eq(i).prop("checked",true);
                    }

                }
                }

            });
        }

        $("#btn").click(function(){

            var uid = $("#user").val();
            var ck = $(".js");
            var str = "";
            for(var i=0;i<ck.length;i++)
            {
                if(ck.eq(i).prop("checked"))
                {
                    str = str+ck.eq(i).val()+"|";

                }
            }
            str = str.substr(0,str.length-1);
            $.ajax({
                url:"add.php",
                data:{uid:uid,juese:str},
                type:"POST",
                dataType:"TEXT",
                success: function(data){

                    if(data.trim()=="OK")
                    {
                        alert("操作成功");
                    }
                    else
                    {
                        alert("操作失败");
                    }

                    }
                });

            })
});

</script>

chuli.php:

<?php
$uid = $_POST["uid"];
include("../DBDA.class.php");
$db = new DBDA();

$sql = "select JueSeId from UserInJueSe where userid=‘{$uid}‘";

echo $db->StrQuery($sql);

add.php:

<?php
include("../DBDA.class.php");
$db = new DBDA();

$bs = true;
$uid = $_POST["uid"];
$juese = $_POST["juese"];
$juese = explode("|",$juese);
//清空角色信息
$sqldel = "delete from userinjuese where userid=‘{$uid}‘";
if(!$db->Query($sqldel,0))
{
    $bs = $bs && false;
}

//添加角色信息
foreach($juese as $v)
{
 $sql = "insert into userinjuese values(‘‘,‘{$uid}‘,‘{$v}‘)";
 //echo $sql;
 if(!$db->Query($sql,0))
 {
     $bs = $bs && false;
 }
}
if($bs)
{
    echo "OK";
}
else
{
    echo "NO";
}

登录页面log.php:

<body>
<form action="logchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<input type="submit" value="登录" />
</form>
</body>

logchuli.php:

<?php
session_start();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];

include("../DBDA.class.php");
$db = new DBDA();
$sql = "select count(*) from userso where username=‘{$uid}‘ and password=‘{$pwd}‘";

$z = $db->StrQuery($sql);

if($z ==1)
{
    $_SESSION["username"] = $uid;
    header("lcation:zhuye.php");
}
else
{
    header("lcation:log.php");
}

zhuye.php:

<head>
<?php
session_start();
//判断username是否为空

if(empty($_SESSION["username"]))
{
    header("location:login.php");
    exit;
}
$uid = $_SESSION["uid"];

include("../DBDA.php");
$db = new DBDA();
?>

//对菜单进行样式设置
<style type="text/css">
*{ margin:0px auto; padding:0px}
#menu{
    width:100%;
    height:40px;
    }
.cd{
    width:100px;
    height:40px;
    background-color:#60C;
    color:white;
    font-size:18px;
    text-align:center;
    line-height:40px;
    vertical-align:middle;
    float:left;
    }
.cd:hover{

    background-color:#F33;
    cursor:pointer;

    }
</style>

</head>

<body>
<br />
<center><h1>主页面</h1></center>
<br />
<a href="log.php">退出 <?php echo $uid; ?></a>
<br />
<br />
<br />
<div id="menu">
    <div class="cd">权限管理</div>

    <?php

    //根据用户名找到所对应的角色代号
    $sjs = "select JueSeId from UserInJueSe where UserId =‘{$username}‘ ";

    $ajs = $db->Query($sjs);

    //根据角色代号找到对应的功能
    $all = array();//存储该用户所有的功能代号

    foreach($ajs as $vjs)
    {
        $sgn = "select RuleId from JueSeWithRules where JueSeId =‘{$vjs[0]}‘";
        $agn = $db->Query($sgn);

        foreach($agn as $vgn)
        {
            array_push($all,$vgn[0]);
        }
    }

    $all = array_unique($all);

    //显示菜单
    foreach($all as $vall)
    {
        $sn = "select Name from Rules where Code = ‘{$vall}‘";
        $name = $db->StrQuery($sn);

        echo "<div class=‘cd‘>{$name}</div>";
    }

    ?>

</div>

</body>
时间: 2024-11-05 09:52:56

5月27日 权限管理的相关文章

三周第三次课(12月27日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录 su命令: 用户和工作组管理: su命令用于切换当前用户身份到其他用户身份, 变更时须输入所要变更的用户帐号与密码. 语法: su(选项)(参数) 选项: -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份: -f或--fast:适用于csh与tsch,使shell不用去读取启动文件: -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHE

全国身份证前6位地区编码归属地(2016年06月27日)共6724条

简介: 前段时间在忙单位的一个小系统,用来管理从业人员的电子档案,最核心.复杂的功能已经完成,现在基本告一段落.用户可上传已扫描或拍照的档案图片,然后选择一个(已导入数据库)的从业人员信息,将扫描件与数据库信息对应,便于日后查询,也减轻了档案室的日常工作量.现在单位已经有一个成熟的系统用来管理从业人员信息,但只有一个档案编号,无法查询纸质档案信息,经常查档案就找档案室,太繁琐.带来各种麻烦.而从业人员涉及到的信息字段比较多,好在原系统可以导出数据库信息,我直接导入新系统就可以用了.省的操作员在录

中级学员:2015年10月27日作业

中级学员:2015年10月27日作业一.项目收尾管理1.项目收尾包括哪三方面内容?2.项目总结的意义;3.项目总结会包括哪些内容:4.项目评估包括哪些方面:5.项目审计的定义.6.一般项目人员转移的流程:二.知识产权管理1.著作权由哪3个要素组成:2.认定职务作品,考虑的前提有哪2个:三.法律法规和标准规范1.标准名称由哪4个要素组成:2.政府采购法,包括哪六种采购方法,以及每种的前提条件:3.教材中,把标准分为基础标准.开发标准.??标准和??标准.四.请背诵教材P180页项目管理知识体系,并

4月27日下午学习日志

4月27日下午看了通信工程的书和视频,了解了内核功能 内线功能:进程管理,内存管理,文件系统,网络功能,硬件驱动,安全机制 其中进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等: 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构:

4月27日作业

2016年4月27日作业 论文完整版 一.范围管理 信息系统项目的范围管理 2015年4月,我公司中标了XX市矿业集团电力生产管理中心建设项目,我作为该项目的项目经理,全程参与了该项目的建设.该项目总投资510万元,建设工期12个月.依托电力生产监管中心的建设,实现各类生产系统的有效集成,包括生产管理大区内的电能量计量系统.配网自动化系统.调度SCADA系统.调度OMS系统以及信息管理大区内的GPMIS.输变电GIS系统.车载GPS系统等数十套系统,实现对各个业务系统的统一调度.2016年4月,

2014北京项目管理论坛于7月27日成功举办

2014年7月27日,2014北京项目管理论坛在北京天伦松鹤大饭店隆重召开.此次论坛由国家外国专家局培训中心.PMI(中国)联合主办,共创国际-项目管理者联盟承办.这次活动我们有幸邀请到了国家外国专家局培训中心副主任邹力先生.PMI(中国)董事总经理陈永涛先生.PMI(印度)董事总经理Raj Kalady先生.项目管理者联盟高级顾问.中国5颗卫星的总质量师栾大龙大校.  这次论坛吸引了超过500名的听众参加,其中绝大多数拥有PMP资质. 会议现场 首先,国家外国专家局培训中心副主任邹力先生为20

微软苏州校招笔试 12月27日

题目1 : Lost in the City 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi gets lost in the city. He does not know where he is. He does not know which direction is north. Fortunately, Little Hi has a map of the city. The map can be considered as a grid

2014年5月27日中国大陆封锁Google事件解决的方法

2014年5月27日中国大陆封锁Google事件指自2014年5月27日后,Google公司的各项服务遭到疑似来自防火长城的恶意干扰,导致中国大陆地区的用户无法正常使用其服务的事件.自当天起,来自中国大陆的用户发现Google旗下的各个分站以及Google的其它服务(Google Play.Gmail.Google Docs等)均无法正常訪问与使用,甚至无法登陆Google账户.谷歌中国旗下的谷歌地图.谷歌翻译依然能够使用,但部分地区仍有连接被重置.连接超时等情况 最新谷歌镜像git网址:htt

2014年4月27日 后悔书

学习算法这么久了,没有多少长进,找不到原因,以至于没有没有动力,懒散,前行困难. 在最近我做题和学习的种种方面,我突然发现我的致命问题.我放弃了数学. 自从学习编程一来,我把课都放弃了. 整个大一的高等数学没去上几节课,挂了,可以说什么也不会. 线性代数,一样,什么也不会. 概率论同样. 离散这学期开的课,到现在为止,用我们离散老师的话说就是"×××是不是我们班的,点名一次都没到过". 今天我认识到了错误,在这里写下后悔书,希望以后能够警钟长鸣. 同时告诫学习算法的同学们,数学重于泰山