Luk*_*asz 8 cookies session http dart
通常,dart文档在几乎任何主题上都有很多有用的示例.不幸的是我在飞镖的会话中找不到任何东西.
任何人都可以将此方法验证为正确的会话方式:
我特别感兴趣的是第4,5和6点,因为其他的都有很好的记录.如果您可以在这一点上分享一些代码片段,我将非常感激.
编辑:在阅读GünterZöchbauer的评论后,我查看了shelf_auth.我意识到它需要重写服务器应用程序以使用货架.所以我做到了.
main.dart:
// imports of all necessary libraries
main() {
runServer();
}
/**
* Code to handle Http Requests
*/
runServer() {
var staticHandler = createStaticHandler(r"C:\Users\Lukasz\dart\auctionProject\web", defaultDocument: 'auctionproject.html');
var handler = new Cascade()
.add(staticHandler) // serves web-client
.add(routes.handler) // serves content requested by web-client
.handler;
io.serve(handler, InternetAddress.LOOPBACK_IP_V4, 8080).then((server) {
print('Listening on port 8080');
}).catchError((error) => print(error));
}
Run Code Online (Sandbox Code Playgroud)
routes.dart
import 'handlers.dart' as handler;
import 'package:shelf_route/shelf_route.dart';
import 'package:shelf_auth/shelf_auth.dart' as sAuth;
Router routes = new Router()
..get('/anonymous', handler.handleAnonymousRequest);
//..post('/login', handler.handleLoginRequest); << this needs to be implemented
//other routs will come later
Run Code Online (Sandbox Code Playgroud)
handlers.dart
import 'dart:async';
import 'dart:convert';
import 'dart:io' show HttpHeaders;
import 'databaseUtility.dart';
import 'package:shelf_exception_response/exception.dart';
import 'package:shelf/shelf.dart' as shelf;
import 'package:shelf_path/shelf_path.dart';
shelf.Response handleAnonymousRequest(shelf.Request request) {
return new shelf.Response.ok('got anonymous get request');
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,在阅读了shelf_auth文档后,我仍然不知道在哪里添加身份验证.他们使用Pipline语法处理程序.
我将描述会话在 Java 中如何与servlet一起工作。这可以帮助您顺利实施。首先,我必须提到会话和身份验证是两个独立的功能,尽管后者依赖于前者。
会话可以帮助服务器理解来自同一浏览器的连续请求,而无需中间有很大的空闲时间。看一下下面的例子:
以下是用户上述步骤对服务器端会话的影响:
服务器端的Session使用:
实施细节:
身份验证机制只是利用上述会话处理来检测“新会话”并将其转移到登录页面。此外,现有会话可用于存储诸如“auth-status”-“通过”或“失败”之类的属性。
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |