标签: ion-auth

如何防止codeigniter中的自动注销?

我使用codeigniterion_auth配置,以及MySQL作为后端,我的应用程序流畅运行,但有时/不是随机当我打电话add/update的功能,它会自动登录我出去.我正在研究它最近1个月但到目前为止找不到解决方案?我也改变了ion_auth配置文件中的设置.

$config['user_expire']  = 0;
Run Code Online (Sandbox Code Playgroud)

任何想法,解决这个问题?
请评论,以便我可以根据需要提供更多数据.

注意:我也检查过这个,但没有运气.

php mysql codeigniter ion-auth

14
推荐指数
2
解决办法
4294
查看次数

登录使用"离子服务"窗口时,为什么登录会话"不粘",但是当我将浏览器指向www文件夹时有效?

我正在使用Ionic在Codeigniter/Ion_Auth/codeigniter-restclient之上构建一个登录系统,当我尝试从"离子服务器"登录时,登录工作,但对logged_in()方法的下一个api请求返回false.

当我将浏览器指向www文件夹时,同样的事情正常.

所以这是一步一步的问题:

  1. 运行离子服务

  2. 你看到登录表单(http:// localhost:8100 /#/ app/login)

  3. 输入电子邮件并通过

  4. 其余的api返回"登录成功"

  5. $ state.go('app.profile')工作并重定向到http:// localhost:8100 /#/ app/profile

  6. REST get api/logged_in返回false,然后重定向到登录页面

如果我在常规浏览器中执行相同操作,则步骤1变为:打开浏览器并转到http:// localhost:8888/App/www /#/ app/login,在步骤6 REST get api/logged_in返回true并且我不要没有重定向到登录页面,我留在个人资料页面.

代码是一样的.所以我的猜测是,ion_auth可能无法获得它想要的cookie或会话被重置.我不确定这个问题是什么.这是我的第一个Ionic/App项目,所以我可能会错过一些使用在浏览器中运行的代码从移动应用程序进行身份验证的正确方法

谢谢

更新:似乎在使用"离子服务器"窗口时,对API的每个请求都会触发一个新会话.新会话存储在数据库中,ion_auth针对最后一个会话测试logged_in,其中不包含登录详细信息.

codeigniter cordova ion-auth codeigniter-restserver ionic

11
推荐指数
1
解决办法
635
查看次数

IonAuth - 似乎是在随机记录我

我正在使用ionAuth,它似​​乎几乎随机地将我退出?我正在使用Codeigniter v2.1.4 - 它记录完全正常但是ionAuth似乎以随机间隔注销,有没有办法强制会话保持活动状态,直到我调用ionAuth-> logout函数?

我的CI配置如下所示:

$config['sess_cookie_name']     = 'cisession';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 600;
Run Code Online (Sandbox Code Playgroud)

我的ion_auth配置文件如下所示:

 $config['user_expire'] = 0;
 $config['user_extend_on_login'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我任何关于可能导致问题的指示吗?

authentication session codeigniter codeigniter-2 ion-auth

10
推荐指数
1
解决办法
3148
查看次数

Phonegap和Jquery移动应用程序使用Codeigniter Ion Auth后端登录

我已经有了使用Codeigniter PHP框架和Ion Auth身份验证库(用于Codeigniter)构建的CRUD Web应用程序.因此用户需要登录才能使用该网站等.

现在我使用Phonegap和jQuery mobile构建小型移动应用程序,该移动应用程序使用相同的后端.后端有"REST like"api处理来自移动客户端的所有ajax请求.

我该如何处理此移动应用的用户身份验证?我想尽可能多地使用现有的后端代码库.

我正在计划这样的事情:

  • 从客户端发送用户名并传递给服务器
  • 将会话ID从服务器返回给客户端
  • 将会话ID存储到客户端(本地存储)
  • 将每个请求中的该令牌发送到服务器并在服务器端验证它.

如何在后端执行此操作?对于登录,我可以使用Codeigniter Ion Auth库登录方法并获得Codeigniter(PHP)会话ID.在第二个请求中,当用户将一些实际数据与sessoin id一起发送时,如何验证会话ID?或者,除了尝试使用现有功能(Codeignitre Ion Auth库)之外,为移动应用程序身份验证构建全新的登录功能是否更好?

所有的想法和建议都非常受欢迎!

authentication codeigniter jquery-mobile cordova ion-auth

7
推荐指数
1
解决办法
1626
查看次数

在Ion Auth - Codeigniter中检索用户的组ID

我正在使用Ion Auth作为我的codeigniter应用程序,除了一件事,一切似乎都很好.

我需要显示一个用户列表以及他们所在的组.如何在不创建自己的模型和查询的情况下检索特定用户的组ID.

$this->ion_auth->user($id)->row(); 不检索组ID.

php codeigniter codeigniter-2 ion-auth

6
推荐指数
1
解决办法
1万
查看次数

在CodeIgniter中使用ion auth进行密码验证

我几乎完成了一个使用codeigniter和ion_auth进行身份验证的项目.我无法弄清楚这个小问题:

当用户想要更改密码时,我有字段OLD_PASSWORD和NEW_PASSWORD.OLD_PASSWORD必须匹配数据库的密码(DB_PASSWORD).但我无法弄清楚密码是如何加密存储在数据库中的.所以OLD_PASSWORD显然永远不会匹配DB_PASSWORD.

我没有更改ION_AUTH库的任何默认加密.我尝试了sha1()函数,它与加密不匹配.同样适用于md5(),不建议再用于加密密码.

任何人都可以为我照亮这个吗?

php codeigniter ion-auth

6
推荐指数
1
解决办法
2935
查看次数

如果页面尝试通过URL访问页面,页面如何将用户重定向回上一页?

我有一个登录页面,如果用户已经登录则无法访问.因此登录页面会尝试将登录用户重定向回他们来自的页面.

如果用户单击链接转到页面,则重定向有效.问题是如果用户在About页面中尝试通过url访问登录页面然后referrer agent将不会设置,因此登录页面不会将用户重定向回About页面,而是重定向回base url(我使用codeigniter和ion auth库) .登录页面的重定向代码如下:

if($this->ion_auth->logged_in())
{
  redirect($this->agent->referrer(), 'refresh');
}
Run Code Online (Sandbox Code Playgroud)

是否可以正确运行此代码并重定向,而不是始终重定向到基本URL?当用户登录时,我没有显示登录页面的链接.所以登录的用户只能使用url输入进入登录页面,我想要的是如果他们这样做,他们将被重定向回他们来自的页面.

http-referer redirect codeigniter ion-auth

6
推荐指数
2
解决办法
2万
查看次数

为什么Codeception的PhpBrowser不遵循"重新加载"标题?

我在Ion Auth身份验证库中的一个真正的CodeIgniter项目中发生了这种情况,但为了清楚起见,我将其简化为最简单的形式.

剧本:

我有这一行脚本位于http://localhost/~captbaritone/redirect/index.php:

<?php header("Refresh:0;url=https://google.com");¬
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中,它会重定向到Google.com.

考试:

为了测试它,我写了这个验收测试:

<?php
$I = new WebGuy($scenario);
$I->wantTo('Redirect to Google.com');
$I->amOnPage('/index.php');
$I->seeCurrentUrlEquals('https://www.google.com/');
Run Code Online (Sandbox Code Playgroud)

acceptance.suite.yml看起来像这样:

class_name: WebGuy
modules:
    enabled:
        - PhpBrowser
        - WebHelper
    config:
        PhpBrowser:
            url: 'http://localhost/~captbaritone/redirect/'
Run Code Online (Sandbox Code Playgroud)

结果:

Codeception PHP Testing Framework v1.7.1
Powered by PHPUnit 3.7.27 by Sebastian Bergmann.

Acceptance Tests (1) -----------------------------------------
Trying to redirect to google.com (RedirectCept.php)       Fail
---------------------------------------------------------------


Time: 460 ms, Memory: 9.75Mb

There was 1 failure:

---------
1) Failed to redirect to …
Run Code Online (Sandbox Code Playgroud)

php codeigniter ion-auth codeception

5
推荐指数
1
解决办法
3438
查看次数

Codeigniter 随机注销用户?

我正在使用 Codeigniter 3 构建一个应用程序,但用户不断被随机注销。我认为这可能是使用 AJAX 的问题,因为我读过这有点错误,但它只是在浏览等时随机发生,而不是任何特定时间,因为它可能会在几分钟内反复发生或持续一段时间.

我正在使用 ion_auth 插件进行身份验证等。

我的会话存储在数据库中,这是从 CI 导入的配置:

//$config['sess_driver'] = 'files';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
//$config['sess_save_path'] = '/home/slight/system/cache/';
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

我怎么能调试呢?是什么原因造成的?我可以检查什么?

php session codeigniter ion-auth codeigniter-3

5
推荐指数
1
解决办法
919
查看次数

使用Ion Auth登录用户名和电子邮件

我正在使用CodeIgniter.现在我已经在CodeIgniter中集成了Ion auth,但是我面临的问题是如何使用用户名和电子邮件登录,但只有一个身份才能使用用户名或电子邮件登录离子身份验证.如何使用用户名和电子邮件登录.

php codeigniter ion-auth

5
推荐指数
1
解决办法
537
查看次数