问题标签 [ion-auth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3046 浏览

php - 使用身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

我已正确安装Ion Auth并在我的服务器上运行。我还有默认的CodeIgniter 2 “新闻”教程在同一个 CI 安装中工作。我只是在玩弄并好奇使用身份验证系统“封闭”或保护整个应用程序的正确方法。

对于这个问题,让我们使用 CI 附带的“新闻”教程。

在我的控制器的index()函数中news.php,我添加了条件代码来检查用户是否已登录。如果没有,用户将被带到登录屏幕。

我可以看到这是可行的,但直接的缺点是控制器中的每个函数也必须使用类似的条件逻辑进行修改,以保护所有其他页面视图。例如 - 检查登录,显示页面,否则转到登录页面......一遍又一遍。

这是它应该做的方式吗?

如果一个应用程序已经构建并且正在运行,并且只是想保护它,该怎么办?添加条件逻辑来检查控制器中每个页面视图的登录状态似乎不必要地冗长。

是否可以在一个地方保护整个应用程序(所有视图)以最大限度地减少代码修改?如果是这样,怎么做?

0 投票
1 回答
226 浏览

php - CI Spark Ion_auth & phpactiverecord

在任何事情之前,请理解我是一个完整的 codeigniter 菜鸟,并且只知道足够的 php 来获得通过。但是如果解释得很好,那就很好理解了。

我正在构建一个 Web 应用程序,安装 sparks,然后 ion_auth 已启动并正常运行。

用户可以注册,yada yada yada。

现在我正在尝试创建我的第一个模型,即“项目”。

这就是我迷路的地方...

这是我的项目模型,我想使用 php-activerecord 并在我的用户和项目之间建立关系。

由于 Ion_Auth 是一个火花并坐在

这是该类顶部的代码

但是当我将 'extends CI_Model' 更改为 'extends Activerecord\model' 时,一切都会中断。

如何让这个工作,以便我可以在适当的模型中使用 $has_many 和 $belongs_to?

已经在这上面呆了几个小时了,它终于开始接触到我了。

任何帮助是极大的赞赏。

0 投票
3 回答
2101 浏览

php - 使用 CodeIgniter 2 发送电子邮件时收到 PHP 错误/警告

我正在使用Ion Auth并尝试实现忘记密码功能,该功能依赖于从 CI 发送的电子邮件。我的 LAMP 服务器在一个共享的 cPanel 帐户上,并且使用sendmail. 但是,我可以php.ini在目录中使用我自己的文件覆盖任何 PHP 设置public_html

根据用于配置电子邮件发送的CodeIgniter 2 文档,我已经完成了以下操作...

1)创建了一个名为的文件位于application/config/email.php

2) email.php包含此代码:

3)在application/config/ion_auth.php文件中,我将此值设置为TRUE

电子邮件已成功发送,但我在所有页面上都收到各种 PHP 错误警告。

这些出现在所有页面上,有时连续出现两到三次:

遇到 PHP 错误

严重性:警告

消息:date() [function.date]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们为 'EST/-5.0/no DST' 选择了 'America/New_York'

文件名:库/Email.php

行号:704

遇到 PHP 错误

严重性:警告

消息:date() [function.date]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们为 'EST/-5.0/no DST' 选择了 'America/New_York'

文件名:库/Email.php

行号:709

除了上述之外,这两个在忘记密码表单提交后也会出现:

遇到 PHP 错误

严重性:警告

消息:无法修改标头信息 - 标头已发送(输出开始于 /home/username/codeigniter/system/core/Exceptions.php:185)

文件名:库/Session.php

行号:675

遇到 PHP 错误

严重性:警告

消息:无法修改标头信息 - 标头已发送(输出开始于 /home/username/codeigniter/system/core/Exceptions.php:185)

文件名:helpers/url_helper.php

行号:540

我不确定为什么会收到这些错误警告,或者我应该如何配置我的电子邮件发送选项。我在文档中看不到与这些特定警告消息相关的任何其他电子邮件发送选项。当我删除我的config/email.php文件并将 Ion Auth 设置use_ci_emailFALSE时,错误警告消失了。

我哪里做错了?

0 投票
1 回答
2303 浏览

codeigniter - codeigniter,ion_auth logout() 会话错误

最近我在我的 hmvc 系统中实现了 ion_auth。现在的问题是,当我从我的 cms 注销时,注销正在工作,但在销毁会话之前向我显示了这些错误:

未定义索引:session_id

未定义索引:ip_address

未定义索引:user_agent

......

现在我不知道下一行错误原因是什么,仅持续 1 秒,然后正在破坏会话。这可能是一个安全问题吗?因为如果我关闭开发模式,它就不再显示了。任何建议如何解决这个问题?谢谢

0 投票
2 回答
4504 浏览

codeigniter - CodeIgniter 2 和 Ion Auth - 编辑自己的用户帐户

我正在使用最新的Ion Auth文件以及最新版本的CodeIgniter 2

edit_userauth.phpController 文件中有一个函数被调用。此功能仅限“管理员”组内的成员使用,任何管理员都可以通过此 URL 使用该功能编辑任何其他成员...

问题是我没有看到任何允许普通(非管理员)用户编辑自己的帐户详细信息的控制器功能或视图。

这是我需要编写的新控制器函数(修改edit_user函数?)还是 Ion Auth 应该已经做的事情?如果是这样,怎么做?

这是控制器中包含的股票 Ion Authedit_user功能...auth.php

0 投票
1 回答
1297 浏览

php - Ionauth 用户首次登录 + 重新发送激活邮件

我目前在我的 codeigniter 项目中实现了 Ion_auth。注册后,将发送一封电子邮件以激活帐户。

目前我面临两个问题。

*如何重新发送激活邮件?
*如何查看用户是否是第一次登录网站?

希望你能帮我 :)

0 投票
1 回答
1904 浏览

codeigniter - 使用 codeigniter 和 Ion_Auth 在 localhost 上登录和会话不起作用

我有一个运行良好的实时站点,可以毫无问题地登录。我有该站点的本地副本,但由于某种原因会话无法正常工作。如果我登录,我可以告诉登录已经成功,因为它试图重定向到成功页面,我可以看到一个新的会话开始了。

但是,系统无法识别我已登录。

我已经更改了 cookie_domain 配置变量,更改了 session_ip 和 session_user_agent 匹配变量,但似乎没有任何效果。

此外,我将数据库中保存会话/用户数据数据的字段的大小增加到长文本,以确保没有任何内容被截断。

有什么我错过的,有什么我忘记的吗?

0 投票
1 回答
270 浏览

php - CodeIgniter 中的 Auth 代码结构

我正在使用CodeIgniterIon auth开发一个小型 Web 应用程序。该应用程序有 3 种不同类型的用户:

  • admin:添加、列出所有、查阅项目、删除项目;
  • 作者:添加、列出、咨询;
  • 普通用户:全部列出,咨询;

(想象它们是新闻条目)

我有一个新闻控制器,可以添加、列出所有、咨询、删除和相应的视图。

到目前为止,我的控制器是这样组织的:

控制器:

  • 行政
    • 新闻.php
  • 作者
    • 新闻.php
  • 普通用户
    • 新闻.php
  • 上市

所以登录后用户被重定向到各自的新闻控制器。例如,作者新闻控制器有AddViewConsult功能,而普通用户新闻控制器只有ViewConsult功能。

困扰我的是,这必须是一种简单的组织方式,根据用户的类型给予不同的权限。它应该重复某些代码吗?

和意见?标题将因用户而异。我应该使用相同的标题模板和一些 if 语句来显示不同的数据,具体取决于用户,还是应该重复包中的视图,更改标题?

意见:

  • 行政
    • 头文件.php
    • 添加.php
    • 视图.php
    • 列表.php
    • 删除.php
    • 页脚.php
  • 作者
    • 头文件.php
    • 添加.php
    • 视图.php
    • 列表.php
    • 页脚.php
  • 普通用户
    • 头文件.php
    • 视图.php
    • 列表.php
    • 页脚.php

在这一刻,我有一个带有and的template文件夹,但是我遇到了不同标题的问题。header.phpfooter.php

0 投票
1 回答
4502 浏览

php - Codeigniter 视图未加载

我安装了 Codeigniter、IonAuth + Hybridauth,我正在对其进行改造,以便我的用户可以选择他们自己的用户名,而不是使用 facebook 返回的名字和姓氏生成一个。

因此,在下面的代码中,我检查是否发布了用户名,如果没有,我想加载choose_username视图,但由于某种原因,视图没有加载,它完全跳过了该部分,这就是我添加的原因die('Why no view')

更新:第一段代码在新控制器中运行良好

在此处查看代码:

更长的版本:

所以当我运行上面的代码时,我得到的只是一个空白页:Why no view.

0 投票
1 回答
131 浏览

php - 身份验证新手

我是编程新手,我正在为 Code Igniter 中的一个项目制作登录/通过身份验证系统。我可以通过设置会话来简单地保护页面,然后根据会话是否设置来授予访问权限......在我进入它之前......我看到周围有很多 auth 库......比如 tank auth、ion auth 等等。

我的问题是,为什么有人会使用 Auth 库?如果我的应用程序很简单,这意味着只有一种具有相同权限的用户,我还需要像 Ion Auth 这样的 Auth lib 吗?