首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PHP筛选具有用户安全级别的页面呈现,但禁用非特权用户的链接。

使用PHP筛选具有用户安全级别的页面呈现,但禁用非特权用户的链接。
EN

Stack Overflow用户
提问于 2014-09-17 01:00:45
回答 1查看 71关注 0票数 0

背景

我正在开发一个web应用程序,其用户按安全级别1-5进行分类。这应该作为系统的主要访问级别,允许用户查看(或不查看)敏感信息。

在系统管理页面上,我有一个非常基本的页面布局.即

代码语言:javascript
运行
复制
<?php if ($seclvl > 4) { ?>
// basic user code
<? } elseif ($seclvl > 1 && $seclvlv <= 4){ ?>
/// elevated privileges code
<? } elseif ($seclvl == 1) { ?>
// super administrator code
<? } else { ?>
//fallback if no security flag - error msg
<? } ?>

我遇到的是找出最好的方法,让系统在sec lvl 2-4中显示几个按钮,但只能被#1点击,而不必通过php display gray for sec lvl 2-4, activate lvl 1单独指定.有人能提出比以下方法更好的方法吗?

代码语言:javascript
运行
复制
<? } elseif ($seclvl > 1 && $seclvlv <= 4){ ?>

   <? if (!$seclvl == 1) { ?>
     <a href="#" class="disabled-add">Add a User</a>
   <? } else { ?>
     <a href="#" class="active-add">Add a User</a>
   <? } ?>

   //basics for seclvl 2-4... i.e:
   <a href="#" class="view">View User Info</a>     

<? } else { ?>

此外,现在我正在编写这段代码(还没有经过测试,但理论已经存在).我在想我的短标签嵌套if语句不起作用..。欢迎任何评论。

我真的不想为每个该死的链接/按钮指定安全访问的条件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-17 23:28:55

您可以编写一个函数来简化它,或者像这样使用in_array()

代码语言:javascript
运行
复制
<?php

if (in_array($seclvl, [2,3,4])) {  // seclvl is between 1 and 5
    // do something
}

..。或者像这样的功能:

代码语言:javascript
运行
复制
<?php

is_between($seclvl, $min = 1, $max = 5)) {
    if ($seclvl >= $min && $seclvl <= $max)
       return true;    
    return false;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25880700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档