由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 怎么track user login session 比较好?
相关主题
请教express create session的问题Spring REST+AFNetworking问题
用LDAP存user还是mysql存?问一个如何建立一个rest web service ,其中有query string 功能。
怎么做能提供RESTful的安全性?wechat desktop 二维码认证是怎么作的?
问个programming style 的问题Pattern matching
CGI question: prefilled value in webpage[合集] c++的题
做个django project.数据类型判断
这里人多,请问Java如何读取需要登录的网页的内容 (转载)java string stream
访问有安全认证的Web Service,再转换成Json,怎么实现比较好?如果没有api,有什么办法写网站客户端呢?
相关话题的讨论汇总
话题: session话题: username话题: string话题: sessionid话题: login
进入Programming版参与讨论
1 (共1页)
W***o
发帖数: 6519
1
在用java做一个简单的user log in,用户登录以后可以访问一些页面,这些页面需要
check 这个用户是否 logged in。 目前我有下面的想法(pseudo code):
void login(username, password)
{
if (username == db.user.username && password == db.user.password)
username.session = startSession(username);
else
response.redirect("/login");
}
String startSession(String username)
{
String sessionID = encoder.encode(randomBytes, username); /* generates
a random session id*/
mysql.session_table.insert(username, sessionID); /* save the session
id to session table */
return sessionID;
}
String getSession(String username)
{
return username.session;
}
boolean isSessionNew(sessionID)
{
if (sessionID.age > threshold)
return false;
else
return true;
}
大概意思就是用程序生成一个随机的session id,然后连同用户名和timestamp存到数
据库的session table;每到一个页面,就检查一下用户是否有session以及session的
age。 这样可能会有很多和数据库交互的overhead,大侠看看有啥更简单的做法吗? 最
好给个example,我在学RESTful
s***o
发帖数: 2191
2
Use signed cookie. Many Web framework provide this functionality out of box.
W***o
发帖数: 6519
3
谢谢,我去看看

box.

【在 s***o 的大作中提到】
: Use signed cookie. Many Web framework provide this functionality out of box.
g*****g
发帖数: 34805
4
Simplest way is to use jsessionId, it's built-in in almost all java web
frameworks. In a cluster, you have a few choices, you can have sticky
session (all load balancers can do that, server remembers your session for
some time), or you can use some SSO that can generate a session on each new
node you visit.
DB check on each and every click is not recommended, it will degrade
performance considerably.

【在 W***o 的大作中提到】
: 在用java做一个简单的user log in,用户登录以后可以访问一些页面,这些页面需要
: check 这个用户是否 logged in。 目前我有下面的想法(pseudo code):
: void login(username, password)
: {
: if (username == db.user.username && password == db.user.password)
: username.session = startSession(username);
: else
: response.redirect("/login");
: }
: String startSession(String username)

W***o
发帖数: 6519
5
谢谢各位大侠指点,开眼界

new

【在 g*****g 的大作中提到】
: Simplest way is to use jsessionId, it's built-in in almost all java web
: frameworks. In a cluster, you have a few choices, you can have sticky
: session (all load balancers can do that, server remembers your session for
: some time), or you can use some SSO that can generate a session on each new
: node you visit.
: DB check on each and every click is not recommended, it will degrade
: performance considerably.

1 (共1页)
进入Programming版参与讨论
相关主题
如果没有api,有什么办法写网站客户端呢?CGI question: prefilled value in webpage
javasctipt + REST 面试一般会问什么问题?做个django project.
web services和POST 到url有啥区别?这里人多,请问Java如何读取需要登录的网页的内容 (转载)
所谓restful就是在url里嵌入可读的查询串?访问有安全认证的Web Service,再转换成Json,怎么实现比较好?
请教express create session的问题Spring REST+AFNetworking问题
用LDAP存user还是mysql存?问一个如何建立一个rest web service ,其中有query string 功能。
怎么做能提供RESTful的安全性?wechat desktop 二维码认证是怎么作的?
问个programming style 的问题Pattern matching
相关话题的讨论汇总
话题: session话题: username话题: string话题: sessionid话题: login