didweb/myt-segurata

MyT 框架 - 系统访问

安装: 27

依赖: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 0

开放问题: 0

类型:myt-framework

1.0.5 2014-06-27 00:00 UTC

This package is not auto-updated.

Last update: 2024-09-24 01:43:15 UTC


README

[开始文档][2]

限制区域访问控制系统。

本系统是为我的 MyT 框架MyT 设计的。

标准

自由访问页面有 0 访问权限,而具有不同权限的页面分配 1 或可以分配高于 0 的其他权限。

想法是用户通过权限类别进行分层定义,例如,具有访问权限 2 的用户可以访问所有定义为访问权限 2 或以下的页面。

这样,具有访问权限 1 的用户将无法访问定义为数字高于的页面或内容。

如果用户访问定义为访问权限高于 0 的页面,则将被重定向到访问页面以便进行身份验证。必须通过身份验证过程才能查看页面。

在 Framework MyT 中的功能和配置

以下详细说明如何在 Framework MyT 中进行配置,稍后我将详细说明如何在不使用 MyT 的情况下进行配置。

密钥

密钥以 sh1 编码存储。

密码由要设置的单词加上可以在 config/seguridad.yml 中定义的字符串组成。请注意,当手动创建 sh1 时,必须将密码和占位符一起设置。

为了访问系统,用户只需输入密码即可,因为占位符以内部方式安装来进行验证。

定义用户

可以在名为 config/seguridad.yml 的配置文件中定义用户,也可以在数据库中指定它们,然后系统将使用这些用户进行入口检查。

在配置文件中定义用户

config/seguridad.yml 文件中定义,此文件被转换为类以更快地访问这些数据,该类存储在 tmp/seguridad.php 中。

转换过程在检测到 config/seguridad.yml 配置文件中的更改时自动执行。

外观如下


Seguridad:
    
    usuarios:
        edu: e3f96800b051602e7ac5542e01747eb09147a54b:1
        pepito: 5d212bd2fed57636c27d15965598817b1e45d3ca:1

其中,在此情况下,edupepito 是用户。直到 : 符号的长字符串是键的编码。在 : 符号之后可以看到为每个用户分配的访问类型。

在数据库中定义用户

如果您想在数据库中指定用户源,在 config/seguridad.yml 中需要指定 datosfuente 参数...

datosfuente:用于提供源参数,如源表的名称、用户字段和密码字段以及访问类型字段。

此参数的格式如下:NOMBRE_TABLA:NOMBRE_CAMPO_USUARIO:NOMBRE_CAMPO_PASSWORD:NOMBRE_CAMPO_TIPO_ACCESO,由 : 分隔。

config/rutas.yml 中,我们必须指定该 URL 需要哪种访问源,通过 fuenteacceso 参数...

fuenteacceso:在此处将 bbdd 设置为通过数据库提供数据。

指定受限制页面的访问

在 URL 配置文件 config/rutas.yml 中,我们可以定义此 URL 的访问类型,例如:


IndexIdioma:
    url: home/{lang:locale}
    controller: Index::index
    permiso: 0
    fuenteacceso: sin
      
ruta_uno:
    url: getsor/{lang:locale}/{pagina:int}
    controller: Index::index2
    permiso: 1
    fuenteacceso: bbdd


permiso参数中指定了访问次数。在本例中,URLhome/eshome/en等可以由所有用户访问,无需身份验证。以下类型的URL:getsor/es/1getsor/en/1getsor/es/3等,只有拥有1或以上访问级别的已验证用户才能查看。

通过fuenteacceso参数可以确定用户来源,如果设置为bbdd,则将访问config/seguridad.yml中的datosfuente参数指定的详细数据库。

控制在哪里进行?

访问控制是在app/Bootstrap.php文件中进行的,其中检查了URL的访问类型以及用户是否已登录。

不使用MyT的配置

要使用此服务,请按照以下方式进行

		$parametros = array('lista'=>'Juan:15,Pepito:1,Antonio:2',
							'listaPSW'=>'Juan:fbaf40c551682f72e2261c95566dbfdcb7e00951,Pepito:pass2,Antonio:pass3',
							'comodin'=>'a',
							'acceso'=>0,
							'session'=>'',
							'cookie'=>'',
							'fuenteacceso'=>'bbdd',
							'datosfuente'=> 'usuarios:usuario:password:acceso');
		$acceso = new mySegurata($parametros);
		$acceso->visita($_POST['usuario'],$_POST['password']);

在这种情况下,您可以按需创建参数,但必须是这些参数,在fuenteacceso参数中给定bbdd值,这将导致在datosfuente中搜索详细数据库。如果想要从配置文件中收集数据,则必须给出任何其他文本作为值。

这返回1表示允许访问,返回0表示不允许访问,因此需要在您的系统中创建管理这些响应所需的内容。