[img]http://dev.helma.org/static/files/0/helma-glossy-100px.png[/img]
下面来看一下Helma中User的使用:
Helma中的user与其它程序中的用户没有什么分别,代表的都是程序中必不可少的用户。对其操作无非就是添加新用户,修改用户,用户名与密码验证等等。
在Helma中使用User,主要有这么两种方式:一是在session中,一是在app中(即appliction中)
一、在app中使用user的方法:
1、[color=indigo]app.registerUser(usernaem,password);[/color] //它会根据用户名进行注册,如果用户名已存在,则注册不成功,返回null值。如果注册成功,返回的是新注册的这个用户对象。例:
var u = app.registerUser(req.data.username, req.data.userpwd);
if(u!=null){//如果注册成功,u不为null,下面是为这个用户其它的属性赋值
u.sex = req.data.sex;
u.birthday= req.data.birthday;
u.email = req.data.email;
}
2、[color=indigo]app.getRegisteredUsers();[/color] //返回一个数组,是所有的已注册的用户对象。例
var arr = app.getRegisteredUsers();
for(int i = 0;i<arr.length;i++){
var u = arr[i];
res.write(u.name);
res.write(u.password);
res.write(u.sex);
}
3、[color=indigo]app.getActiveUsers(); [/color] //返回当前已登录的所有用户的数组
4、[color=indigo]app.getUser(username); [/color] //根据用户名获取一个用户的实例,如果没有则返回null
二、在session中使用user的方法
1、[color=indigo]session.login(username,password);[/color] //根据用户名和密码进行登录,如果登录成功返回true,不成功返回false。参数也可以是一个User对象[color=indigo]session.login(User u); [/color] 例:
var flag = session.login(req.data.username,req.data.password);
if(flag){
res.write("登录成功");
}else{
res.write("登录失败");
}
2、[color=indigo]session.user;[/color] //这是一个属性,如果登录,指登录的user对象,如果没登录,它的值为null。通常用来检查用户是否登录
3、[color=indigo]session.logout(); [/color] //可以翻译为登出。即注销一个用户,将登录的那个用户从session中移出。例:
session.login("zhangsan","123456");
res.write(session.user); //输出HopObject user,说明session.user现在是个user对象
session.logout();
res.write(session.user); //输出null,用户已经注销
以上讲了Helma中使用User的所有的方法,但还是一些比较棘手的问题一定要注意,关于这些问题请参考Helma中关于User的问题[url]http://han2000lei.iteye.com/blog/336435[/url]