ssh框架向session赋值

目的是为了进行权限判断,在用户登录时,如果允许登录,则在数据库中查询该用户的角色和角色所对应的权限,将他们组织成hashmap,我想把这个hashmap放在session... 目的是为了进行权限判断,在用户登录时,如果允许登录,则在数据库中查询该用户的角色和角色所对应的权限,将他们组织成hashmap,我想把这个hashmap放在session中,这样用户只要不退出或者关闭浏览器,他进行访问的时候,就不用总连数据库查询他是否有权限了,现在问题是我对ssh不是很熟悉,要如何在service或者dao中把user对象存到session中啊,我获得session的方法是:
SessionFactory sessionfactory=this.getHibernateTemplate().getSessionFactory();
Session session=sessionfactory.openSession();
这样获得了一个session,创建了query,执行hql
但是这个session没有setAttribute方法,那要怎么放到session里呢?
还有,我获得的这个session要不要关闭啊?
展开
 我来答
回首难求曾经
2010-02-04 · TA获得超过169个赞
知道答主
回答量:93
采纳率:0%
帮助的人:96.3万
展开全部
你理解错误了。这里你需要将用户信息保存到http的session 而不是Hibernate的session 虽然他们的名字相同。
但是hibernate里面的session实际上是一条连接数据库的连接..他是用来处理sql语句 操作数据库的。
而且hibernate的session也没有setAttribute方法
有这个方法的是http的session 通过HttpSession session=httpRequest.getSession();来获得。
然后再session.setAttribute("","")或者struts2的话session.put("","").
http得session的话 你不需要手动关闭它。这个session的生命周期简单的说就是你打开这个网站到你关闭这个网站位置session里面的值都是存在的
LLSHWHY
2010-02-04 · TA获得超过2913个赞
知道大有可为答主
回答量:1703
采纳率:92%
帮助的人:940万
展开全部
如果要使用setAttriubte方法则需要创建request对象。

即,在文件中添加

HttpServletRequest request = ServletActionContext.getRequest();

request.getSession().setAttribute("user", tempList);

也可以写request.setAttribute("user", tempList);

(记得声明头文件)

这个对象有setAttribute方法。

如此可以把需要的信息放在setAttribute中,在Action中,或者jsp页面中都可以获得setAttribute中的值。

Session session=sessionfactory.openSession();
这个session我个人认为应该关闭。

不知道你需要的是不是这个方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dlgstar
2010-02-04 · 超过33用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
HttpSession session=httpRequest.getSession();
session.put(权限名, 权限值);

session不要关闭 当用户注销退出再关闭session.invalidate();

取权限
if(session.get(权限名)!=null){
//session中已经存入权限判断结果
Object hasPrivilege=session.get(权限名);//当然可以换成别的类型
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LSIL
2010-02-04 · TA获得超过1127个赞
知道小有建树答主
回答量:1162
采纳率:0%
帮助的人:634万
展开全部
为什么要放在 Hibernate 的 session中呢?
放在http的session中不是更好?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式