我有应用RBAC迁移的yii2高级模板.我正在尝试学习RBAC并遵循Docs 2.0.
我已使用数据库登录,但前端和后端都使用任何帐户登录.我已经做了2个RBAC角色(管理员,用户),但无法理解或找到如何
限制后端登录非管理员用户角色.
以下是角色的代码.和数据库条目:
namespace console\controllers;
use Yii;
use yii\console\Controller;
class RbacController extends Controller
{
public function actionInit()
{
$auth = Yii::$app->authManager;
// add "admin" role
$admin = $auth->createRole('admin');
$auth->add($admin);
// add "user" role
$user = $auth->createRole('user');
$auth->add($user);
$auth->assign($admin, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
用户表:
admin admin@gmail.com 20 10 1421197319 1421197319
user user@gmail.com 10 10 1421198124 1421198124
Run Code Online (Sandbox Code Playgroud)
现行规则:
'rules' => [
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'actions' => ['logout', 'index'],
'allow' => true,
'roles' …
Run Code Online (Sandbox Code Playgroud) 使用这个http://www.daterangepicker.com/
如何使用 daterangepicker 仅选择一个月的范围。启用singleDatePicker: true
使其成为唯一的日期选择器,但我需要一个月的范围。
即2017年1月1日至2017年1月15日。或一个月内的任何范围。
我努力了
"dateLimit": {
"month": 1
},
Run Code Online (Sandbox Code Playgroud)
但它也选择 1 月 1 日至 31 日和 2 月 1 日。
如果不可能,请提出替代方案。
编辑(当前代码)
function cb(start, end) {
$('#daterange span').html(start.format('MMM D, YYYY') + ' - ' + end.format('MMM D, YYYY'));
enroll_date_start.value = start.format('YYYY-MM-DD');
enroll_date_end.value = end.format('YYYY-MM-DD');
}
$('#daterange').daterangepicker({
maxDate: moment(),
"dateLimit": {
"month": 1
},
ranges: {
'Today': [moment(), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
}
}, cb);
Run Code Online (Sandbox Code Playgroud)
我有旧项目包含许多不cfqueryparam
用于防止SQL注入的查询.有没有办法在每个表单字段上使用某些函数在应用程序级别上执行类似操作?
作为一个具有PHP背景的初学者,我想我可以循环发布的数据并做一个escape_string()
或类似的.但我不希望数据以转义形式保存.我认为cfqueryparam
不会以转义形式保存数据.(我还没有尝试过.我是CF的新手.)否则,我必须在每次检索时取消数据,我不想这样做.我希望按原样插入和检索输入.
基本上我只是希望它在应用程序级别完成,所以我不必在每个项目上逐个更改数千个查询.
样本输入
it's my book
user@gmail.com'; delete database --
Run Code Online (Sandbox Code Playgroud) 我被困在如何从学生表中获得学生的最低分数marks
和student
信息。
编辑:抱歉没有提及,但我需要用户 1、st1 的结果
学生
id name
1 st1
2 st2
Run Code Online (Sandbox Code Playgroud)
分数
student_id course_name marks
1 C++ 55
1 OOP 65
1 AI 45 //need this lowest result for st1
2 C++ 82
2 STATS 74
2 OS 20 // lowest marks are these for st2 or overall
Run Code Online (Sandbox Code Playgroud)
编辑忘记输入名称 st1:
期望输出:
id name course_name MinMarks
1 st1 AI 45
Run Code Online (Sandbox Code Playgroud)
我试过这个查询,但它给出了错误的course_name
(C++)第一行的课程名称
SELECT s.id, s.name, m.course_name, MIN(m.marks) FROM student s
JOIN marks m
ON s.id = …
Run Code Online (Sandbox Code Playgroud) mysql ×2
coldfusion ×1
jquery ×1
jquery-ui ×1
php ×1
php-7.2 ×1
phpmyadmin ×1
rbac ×1
sql ×1
yii2 ×1