访问权限控制

对于一个网站来说,访问权限控制包含2部分,

1:控制是否要用户登录,才可以访问到网站。

(在YII框架里,使用UserIdentity类来用户名,密码方式登录,再通过Yii::app()->user->login(UserIdentity实例)/logout()方法来登录和退出)

2:控制登录后的用户,符合哪些条件才能访问某些控制器或者某些方法。

(简单的访问控制过滤可以重载CController::filters 方法,这种方式基于用户名,客户IP地址,和访问类型)

public function filters()
    {
return array(
            ‘accessControl‘,//这里是给filter命名,取个自己认识的名字
        );
    }

//之后,设置的accessControl这个过滤器将作用于该controller类里的每个public function action****

过滤器的具体授权规则通过重载CController::accessRules方法来指定

public function accessRules()
    {
        return array(
            array(‘deny‘,
                ‘actions‘=>array(‘create‘, ‘edit‘),
                ‘users‘=>array(‘?‘),
            ),
            array(‘allow‘,
                ‘actions‘=>array(‘delete‘),
                ‘roles‘=>array(‘admin‘),//这里通过roles角色来控制用户是否可以访问actionDelete,使用到基于角色的权限管理技术
            ),
            array(‘deny‘,
                ‘actions‘=>array(‘delete‘),
                ‘users‘=>array(‘*‘),
            ),
        );
    }
时间: 2024-10-05 03:25:22

访问权限控制的相关文章

CloudStack API访问权限控制

在我写开始之前,请先看下CS中国社区的一篇文章http://www.cloudstack-china.org/2012/12/1465.html,在第1点里讲了关于权限级别,command属性文件位置等问题.不过4.3现在的除了command.properties外,作者提到的其它properties文件现在好像都没有了,而且command里面现在形如***command=15,"="后面不再有处理请求命令的类. API请求由ApiServlet拦截后,会调用verifyRequest

Java成员的访问权限控制

Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以是public,protected, package private(无修饰符), or private. 以下表格总结了类成员中不同访问权限控制修饰符对应的访问级别:

Java访问权限控制

访问权限控制   java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.protected.包访问权限(没有关键字).private. 包:库单元 包内有一组类,它们在单一名字空间之下被组织在了一起.如果你向导入某个标准库中的类的话,可以使用import关键字.我们之所以要导入,就是要提供一个管理名字空间的机制.所有类成员的名称都是彼此分离的.所以具有相同方法的不同类在程序运行时不会出现错误的.

MongoDB 访问权限控制

MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:--bind_ip <ip address> 默认值是所有的IP地址都能访问,该参数指定MongoDB对外提供服务的绑定IP地址,用于监听客户端 Application的连接,客户端只能使用绑定的IP地址才能访问mongod,其他IP地址是无法访问的. 2,设置监听端口 mongod 参数:--por

数值类型 访问权限控制以及部分运算符

(1)java中的基本数据类型 byte    1字节,-128到127,-2^7到2^7-1  short   2字节,-2^15到2^15-1  int     4字节,-2^31到2^31-1  long    8字节,-2^63到2^63-1 float   4字节,单精度  double  8字节,双精度   char 2个字节   boolen 1个字节 (2)访问权限控制 public: 能被所有的类访问 protected:只能被本类或者同一个包中的类访问,在其他包内该类的子类也

ProFTPD配置匿名登录与目录访问权限控制

对ProFTPD服务器配置匿名登录. 查看配置文件proftpd.conf.默认情况下配置文件中的,匿名登录配置User和Group均为ftp.查看/etc/passwd确认用户ftp,是否存在.命令行输入id ftp,查看用户ftp的所在组.查看/etc/group,确定用户组ftp是否存在. 上述步骤中,如果缺少用户或组,新建即可. User    ftp Group ftp UserAlias   anonymous ftp   #设置匿名用户以ftp身份登录 --------------

Java 访问权限控制:你真的了解 protected 关键字吗?

摘要: 在一个类的内部,其成员(包括成员变量和成员方法)能否被其他类所访问,取决于该成员的修饰词:而一个类能否被其他类所访问,取决于该类的修饰词.Java的类成员访问权限修饰词有四类:private,无(默认情况下,包访问权限),protected 和 public,而其中只有包访问权限和public才能修饰一个类(内部类除外).特别地,很多的介绍Java的书籍对protected介绍的比较笼统,常常会对大家造成误解.因此,本文重点揭示了 protected 关键字的内涵和用法,并介绍了一些其他

浅析Java中的访问权限控制

浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1.fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调用ClassA,只可以调用方法fun1,那么该怎么处理? 此时,访问权限控制便可以

基于iptables下OpenVPN访问权限控制

最近有博友咨询关于OpenVPN的用户访问权限控制的问题,即当用户连接进来以后,怎么去控制他的权限,我这里采用了一个脚本的方式自动添加,其它就是采用iptables的三层功能做路由与端口的访问控制,这里将这个shell分享出来,希望对有需要的朋友可以提供帮忙. 权限控制: read -p "请选择您要做的操作:" caozuo case $caozuo in 1) read -p "请输入您需要添加ERP访问权限的用户:" vpnuser   while [ ! `

使用nginx和iptables做访问权限控制(IP和MAC)

之前配置的服务器,相当于对整个内网都是公开的 而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直接ip地址加端口访问对应服务 这是不对的啊,所以我们要做一些限制 因为只是对特定的人提供服务,而且局域网IP和MAC都是固定的,所以可以直接用白名单,其他的全部拒绝 /**************************************使用nginx做访问权限控制*********************************/ 先在nginx做设置 在/et