首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp -如何使用动态登录名和密码连接到数据库

问Cakephp -如何使用动态登录名和密码连接到数据库
EN

Stack Overflow用户
提问于 2014-06-05 18:04:39
回答 2查看 281关注 0票数 0

有人要求我使用mysql用户在cakephp应用程序中登录。

我希望使用登录表单中的用户名和密码,并在database.php配置文件中这样使用。

代码语言:javascript
复制
class DATABASE_CONFIG {  

    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => $user,
        'password' => $password,
        'database' => 'cakephp',
        'prefix' => '',
        //'encoding' => 'utf8',
    );
}

如果可能的话,使用mysql数据库中的现有用户。如果不是的话,还有别的办法吗?

我刚刚发现这个可以添加到这个类中:

代码语言:javascript
复制
function __construct(){
    $this->default['login'] = $userSentFromForm;
    $this->default['password'] = $passwordSentFromForm;
}

但是,我不知道如何从表单中检索登录名和密码,并将其发送到$userSentFromForm和$passwordSentFromForm变量中的构造函数。

EN

回答 2

Stack Overflow用户

发布于 2014-06-05 18:15:10

为此,必须为站点的每个用户创建一个MySQL用户帐户。您可以通过对数据库执行MySQL语句来添加MySQL用户并为他们定义特权,但这必须作为MySQL 'root‘用户来完成。

查阅这个这里上的文档。

由于您通常不希望以root身份访问数据库,因此只有在处理寄存器表单以便为每个新注册创建数据库用户时,才需要以根用户的身份单独连接数据库。

票数 0
EN

Stack Overflow用户

发布于 2014-06-05 18:22:27

为此,您必须执行从Auth继承的自定义身份验证组件。这只需要扩展一种方法,即authenticate(),并在用户登录时返回数据,如果没有,则返回false。

您可以在这里查看更多信息:http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#creating-custom-authentication-objects

至于检查用户是否是MySQL用户,请检查mysql.user表。完整的过程在这里:如何检索我的MySQL用户名和密码?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24067107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档