我在用户会话中有一个datagrid表(用户可视化管理员)。
要初始化datagrid,我需要使用包含表中应该包含的项的数组来设置url数据。
为此,我必须允许一个动作来显示这些数据(Codeigniter mvc)。
如何通过jQuery.ajax()方法保护我的操作仅允许我的应用用户访问?
例如,我已经登录到我的会话并使用datagrid访问一个视图,该视图使用此函数来获取数据并将其设置在表中:
$('#content').WATable(
{
url: '/api/showusers'
}).data('WATable');
谢谢!
答案 0 :(得分:1)
在app/config/constants.php
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest');
然后在showusers()
public function showusers() {
if(!IS_AJAX) {
show_404()
}
// continue with processing
}
我到处都是这个!如果您位于仅用户区域,则codeigniter将处理用户身份验证并确保仅通过ajax访问该操作。