我试图在用户获得授权时将用户定向到我的主页面。我在login_check控制器中进行用户检查并添加$this->load->view('main');
页面可以加载,但主页面中的站点地址仍然显示
但我希望它显示
我是否必须创建一个新的“主”控制器并加载视图?这对我来说听起来多余。这是我的代码。
我的login_check.php
private function _user_check()
{
$this->load->model('user_query'); //load my model
$result=$this->user_query->query($this->input->post('username'),$this->input->post('password'))
if($result) //the user is in DB
{
$data['view']='main';
$this->load->view('include/template', $data);
//the address bar shows http://myproject/login_check in main page
}else{ //the user is not in DB
$data['view']='login';
$this->load->view('include/template', $data);
}
}
答案 0 :(得分:56)
首先,你在检查用户是否经过身份验证方面做得很差(只是将用户名/传递给模型不是最好的,应该在发送给模型之前处理/检查它)。
您可以通过包含帮助程序“URL”轻松地重定向,只需使用:
redirect('/controller/method');
或在现实世界中的例子:
redirect('/main');
答案 1 :(得分:0)
如果您的控制器是Rest controller
,还有另一种方法,但类似于redirect()您可以在另一个控制器中使用rest client来调用服务器控制器上的方法
答案 2 :(得分:0)
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
// ...
paths:
- /api/myservice => myservice
- /api/myservice/prometheus => 404 default backend.
例如,您可以拥有
/api/myservice/prometheus
,路线为
redirect('controller/function');