gpt4 book ai didi

javascript - AdonisJs 分享会

转载 作者:行者123 更新时间:2023-12-03 05:52:49 24 4
gpt4 key购买 nike

我正在使用 AdonisJs 框架为多个用户开发一个身份验证页面。该页面预计允许用户仅在经过身份验证后才能查看个人资料。但阿多尼斯现在在连接到应用程序的每个用户之间共享 session 。因此,一旦有人登录,每个人都会启用该配置文件。

'use strict'

class UserController {

* login (request, response) {
const email = request.input('email')
const password = request.input('password')
const login = yield request.auth.attempt(email, password)

if (login) {
response.send('Logged In Successfully')
return
}

response.unauthorized('Invalid credentails')
}

* profile (request, response) {
const user = yield request.auth.getUser()

if (user) {
response.ok(user)
return
}

response.unauthorized('You must login to view your profile')

}

}

以下是 config/auth.js 的配置

'use strict'

const Config = use('Config')

module.exports = {

/*
|--------------------------------------------------------------------------
| Authenticator
|--------------------------------------------------------------------------
|
| Authenticator is a combination of HTTP Authentication scheme and the
| serializer to be used for retrieving users. Below is the default
| authenticator to be used for every request.
|
| Available Schemes - basic, session, jwt, api
| Available Serializers - Lucid, Database
|
*/
authenticator: 'session',

/*
|--------------------------------------------------------------------------
| Session Authenticator
|--------------------------------------------------------------------------
|
| Session authenticator will make use of sessions to maintain the login
| state for a given user.
|
*/
session: {
serializer: 'Lucid',
model: 'App/Model/User',
scheme: 'session',
uid: 'email',
password: 'password'
},

/*
|--------------------------------------------------------------------------
| Basic Auth Authenticator
|--------------------------------------------------------------------------
|
| Basic Authentication works on Http Basic auth header.
|
*/
basic: {
serializer: 'Lucid',
model: 'App/Model/User',
scheme: 'basic',
uid: 'email',
password: 'password'
},

/*
|--------------------------------------------------------------------------
| JWT Authenticator
|--------------------------------------------------------------------------
|
| Jwt authentication works with a payload sent with every request under
| Http Authorization header.
|
*/
jwt: {
serializer: 'Lucid',
model: 'App/Model/User',
scheme: 'jwt',
uid: 'email',
password: 'password',
secret: Config.get('app.appKey')
},

/*
|--------------------------------------------------------------------------
| API Authenticator
|--------------------------------------------------------------------------
|
| Api authenticator authenticates are requests based on Authorization
| header.
|
| Make sure to define relationships on User and Token model as defined
| in documentation
|
*/
api: {
serializer: 'Lucid',
model: 'App/Model/Token',
scheme: 'api'
}

}

以下是config/database.js

'use strict'

const Env = use('Env')
const Helpers = use('Helpers')

module.exports = {

/*
|--------------------------------------------------------------------------
| Default Connection
|--------------------------------------------------------------------------
|
| Connection defines the default connection settings to be used while
| interacting with SQL databases.
|
*/
connection: Env.get('DB_CONNECTION', 'pg'),

/*
|--------------------------------------------------------------------------
| Sqlite
|--------------------------------------------------------------------------
|
| Sqlite is a flat file database and can be good choice under development
| environment.
|
| npm i --save sqlite3
|
*/
sqlite: {
client: 'sqlite3',
connection: {
filename: Helpers.databasePath('development.sqlite')
},
useNullAsDefault: true
},

/*
|--------------------------------------------------------------------------
| MySQL
|--------------------------------------------------------------------------
|
| Here we define connection settings for MySQL database.
|
| npm i --save mysql
|
*/
mysql: {
client: 'mysql',
connection: {
host: Env.get('DB_HOST', 'localhost'),
user: Env.get('DB_USER', 'root'),
password: Env.get('DB_PASSWORD', ''),
database: Env.get('DB_DATABASE', 'adonis')
}
},

/*
|--------------------------------------------------------------------------
| PostgreSQL
|--------------------------------------------------------------------------
|
| Here we define connection settings for PostgreSQL database.
|
| npm i --save pg
|
*/
pg: {
client: 'pg',
connection: {
host: Env.get('DB_HOST', 'localhost'),
user: Env.get('DB_USER', 'correctuser'),
password: Env.get('DB_PASSWORD', 'correctpassword'),
database: Env.get('DB_DATABASE', 'correctdb')
}
}

}

最佳答案

这是 Adonis 3.0.3 中的一个错误,您应该将 Adonis 升级到最新版本(目前为 3.0.6)。

关于javascript - AdonisJs 分享会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40074694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com