在授予访问权限之前,不允许用户继续登录
Not allowing a user to move forward to logging in until given access
我正在尝试弄清楚如何拒绝用户登录我的网站,除非他们获得批准。我将我的网站设为私有,仅对我允许加入的人开放。任何人都可以注册,但一旦注册,他们就会获得 1 或"板凳"的权限/组级别。一旦我接受用户并更改权限级别,他们就可以登录了。
截至目前,我正在停止级别/组 1 用户并重定向回索引页面(他们登录的地方)。但是,我根本不想让他们前进到下一页。原因是我想显示某种弹出警报,显示我创建的消息。
我不确定我是否可以通过验证或我尝试的方式来做到这一点。我添加了我的登录代码,并尝试将我拥有的权限代码放在登录页面上,以尝试从一开始就停止它。基本上,如果用户尝试登录,脚本一旦看到权限级别在组"板凳"上就会死亡。然后显示弹出警报,说明原因。
我在这方面没有取得多大成功。我的组/权限级别具有名称和 ID。我尝试将两者放在这个单一的配额中,例如"板凳"和"1",但是两者都得到了相同的错误。
致命错误:在第 12 行的/home4/pfarley1/public_html/example.com/index.php 中的非对象上调用成员函数 hasPermission()
我正在尝试像这样登录它们...
<?php
if(Input::exists()) {
if(Token::check(Input::get('token'))) {
$validate = new Validate();
$validation = $validate->check($_POST, array(
'username' => array('required' => true),
'password' => array('required' => true)
));
// added this line in
if($user->hasPermission('1')) {
die($permissionError);}
if($validation->passed()) {
$user = new User();
$remember = (Input::get('remember') === 'on') ? true : false;
$login = $user->login(Input::get('username'), Input::get('password'), $remember);
if($login) {
Redirect::to('userIndex.php');
} else {
$tryagain = '<span class="signinpanel">' . "The information you entered did not match our records." . '</span>';
}
} else {
foreach($validation->errors() as $error) {
echo $error, '<br>';
}
}
}
}
?>
我的用户权限代码..
public function hasPermission($key) {
$group = $this->_db->get('groups', array('id', '=', $this->data()->group));
if($group->count()) {
$permissions = json_decode($group->first()->permissions, true);
if($permissions[$key] == true) {
return true;
}
}
return false;
}
我做错了什么,还是有更好的方法
?编辑:最后一个问题不够具体,所以我添加了信息,并且在我尝试执行此操作时对代码进行了修改。
第 12 行的$user
是什么?
if($user->hasPermission('1')) {
错误消息非常明确。
相关文章:
- Don'不允许将焦点集中在自动完成的选择上
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- js文件未加载js控制台say's”;不允许加载本地资源”;
- Jquery不允许来自多个选择列表的相同值
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- 不允许在文本框中使用小数
- 谷歌地图 - 用户选择不允许位置
- 如何在不创建用户帐户的情况下,允许每人(电脑/手机)在网站上的1篇帖子上只投1票
- 允许用户在不刷新页面的情况下留下多条评论
- 若文本框中包含文本,则不允许用户离开页面
- 更改网站的样式代码以允许用户更改大小和样式不起作用
- 如果我的 aspx 页面不允许来自用户的 html 输入,html 编码如何提供帮助
- 不允许用户在文本框中输入字母字符
- 输入文本字段(移动应用程序),不允许用户使用angularjs输入数值
- 显示 HTML5 视频控件,但不允许用户更改任何内容
- 如何不允许用户在扩展表单javascript函数中删除原始表单
- 不允许Javascript禁用用户浏览web应用程序
- 在授予访问权限之前,不允许用户继续登录
- 不允许用户使用php和MySQL选择现有用户名,如果用户选择现有用户名,则显示警告框