急!!100分求用JSP判断是否在DZ论坛登录代码!

geleisi 2009-09-28 10:03:54
网站是基于DZ论坛建的,前两天增加了一个用JSP写的小应用,但是要判断下用户是否登录并要取得用户名,请高手指点这样的JSP代码如何写,谢谢!
...全文
217 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
meteor_730 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 lilinstage 的回复:]
引用 10 楼 meteor_730 的回复:
我楼上的所有同志们。。。。你们是不是都忽略了一点。session不是万能当。。。当你关闭IE的时候。。并不能在Session中把username去除


我的解决方法,先是每隔多少秒去监听,看Session是否过期,然后在看username是不是在session里

浏览器关闭的时候session里的username不能去掉?开什么玩笑。。。
你多试试才知道
[/Quote]

你说的是客户端的Session。安全性很差的 严格的登陆的信息是要保存到服务器端。验证是否登陆应该在服务器端而不是客户端的session,再服务器端验证的话,你的那些就不行了
meteor_730 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jalin1220 的回复:]
用cookie也行
[/Quote]

cookie 也存在我说的问题


想作的严格精确的话, 就得每隔几秒向服务器查询一下
yuanjianbin 2009-09-28
  • 打赏
  • 举报
回复
论坛的登录功能里,肯定用session记录了用户信息。在你的jsp里,用session去得到那个用户信息就OK了。
jalin1220 2009-09-28
  • 打赏
  • 举报
回复
用cookie也行
meteor_730 2009-09-28
  • 打赏
  • 举报
回复
我楼上的所有同志们。。。。你们是不是都忽略了一点。session不是万能当。。。当你关闭IE的时候。。并不能在Session中把username去除


我的解决方法,先是每隔多少秒去监听,看Session是否过期,然后在看username是不是在session里
geleisi 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yuanjianbin 的回复:]
首先有个前提:新增加的那个小应用与论坛是不是在同一个WEB系统中。如果是,那么恭喜你,楼上说的都是对的,用session就OK了。

如果不是,那得用另外的方案!
[/Quote]
是在一个web系统中
geleisi 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lilinstage 的回复:]
<%
        String userName = (String)session.getAttribute("userName");
        if(userName!=null){
        %>
        <%=userName %> <br>
        欢迎您登陆DZ论坛
        <%
        }else{
        %>
        用户登陆
用户注册
        <%
        }
        %>

然后在登陆页面去保存登陆名
session.getAttribute
[/Quote]

非常感谢你的回复,但是有一个问题,PHP的代码我不懂,你说的“用户登陆的时候保存他的name,保存到session里”是要用PHP来些吧。
zhaoyangdj 2009-09-28
  • 打赏
  • 举报
回复
session
yuanjianbin 2009-09-28
  • 打赏
  • 举报
回复
首先有个前提:新增加的那个小应用与论坛是不是在同一个WEB系统中。如果是,那么恭喜你,楼上说的都是对的,用session就OK了。

如果不是,那得用另外的方案!
lilinstage 2009-09-28
  • 打赏
  • 举报
回复

<%
String userName = (String)session.getAttribute("userName");
if(userName!=null){
%>
<%=userName %><br>
欢迎您登陆DZ论坛
<%
}else{
%>
用户登陆
用户注册
<%
}
%>

然后在登陆页面去保存登陆名
session.getAttribute
日月小小 2009-09-28
  • 打赏
  • 举报
回复
小应用那应该也有按钮吧,只要一按下,记录session.getusername不就OK了!
liguominz 2009-09-28
  • 打赏
  • 举报
回复
判断是否登录就判断session中是否有值啊
如果有就是存在的,然后从session中取值就可以了啊~
lilinstage 2009-09-28
  • 打赏
  • 举报
回复
给你个思路!
首先
用户登陆的时候保存他的name,保存到session里
判断session里有没有name这个值
如果有,那你就取得用户的name了
如果没有,就显示登陆模块
够详细了吧
日月小小 2009-09-28
  • 打赏
  • 举报
回复
小应用那应该也有按钮吧,只要一按下,记录session.getusername不就OK了!
yuanjianbin 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 qustgjk 的回复:]
引用 2 楼 lilinstage 的回复:
给你个思路!
首先
用户登陆的时候保存他的name,保存到session里
判断session里有没有name这个值
如果有,那你就取得用户的name了
如果没有,就显示登陆模块
够详细了吧

思路就是这样!顶!
[/Quote]

理论上的思路是这样

但楼主说的情况没那么复杂,必竟论坛是成熟的系统,session里面相关的信息都有了。
实际只是在需要的地方调用一下session,直接去取那些要用的信息就OK了
qustgjk 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lilinstage 的回复:]
给你个思路!
首先
用户登陆的时候保存他的name,保存到session里
判断session里有没有name这个值
如果有,那你就取得用户的name了
如果没有,就显示登陆模块
够详细了吧
[/Quote]
思路就是这样!顶!
lilinstage 2009-09-28
  • 打赏
  • 举报
回复
同楼上,而且就算关闭浏览器,
session的username肯定变null了,
你的意思是怕session 没关闭,里面还有username
不会的,肯定是null
SmallOceanLxh 2009-09-28
  • 打赏
  • 举报
回复
如果你的用户登录成功
则将你的用户名set到session里去
在其他页面写个判断,get出session
如果session里有值则可以访问此页面,如果没有值则提示用户,你还没有登录,给个连接让用户登录
如果用户不通过用户界面登录,直接访问其他页面
这个时候的session里是没有值的
也会提示用户登录的信息
lilinstage 2009-09-28
  • 打赏
  • 举报
回复
我写的那代码就是JSP的,而且是最简单也最实际的
关闭浏览器SESSION里的USERNAME自然为null了
不然就可能获取username,没什么不对的
lilinstage 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 meteor_730 的回复:]
我楼上的所有同志们。。。。你们是不是都忽略了一点。session不是万能当。。。当你关闭IE的时候。。并不能在Session中把username去除


我的解决方法,先是每隔多少秒去监听,看Session是否过期,然后在看username是不是在session里
[/Quote]
浏览器关闭的时候session里的username不能去掉?开什么玩笑。。。
你多试试才知道
加载更多回复(1)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧