关于java获取登录用户id的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java获取登录用户id的问题相关的知识,希望对你有一定的参考价值。
在网上搜了很多, 都没有找到
需要获取的ip是192.168.*.*这种格式而不是127.0.0.1这种
那你的代码就没错了。
只不过你用localhst:8080这么登录,IP就是127.0.0.1
你非得想要看到192.168.*.*的话,
看看你本机的IP是多少,开始->运行->cmd->ipconfig 就能查看到你本机的IP了
比如说你本机的IP是192.168.1.21的话
你在浏览器里面访问192.168.1.21:8080
打开的还是你做的那个页面
但是显示的IP就变成你想要的远程IP了。 参考技术A /**
* FunName: getIpAddr(HttpServletRequest request)通过客户端request获取用户IP
* @param: request -
* @return String: 返回用户Ip
* @Author:
* @Create Date: 2010-6-12 下午9:38:12
*/
public static String getIpAddr(HttpServletRequest request)
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getHeader("Proxy-Client-IP");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getHeader("WL-Proxy-Client-IP");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getRemoteAddr();
return ip;
注:访问时最好不要用本机,使用其他机器尝试
PS:有问题可百度Hi,good luck!~~~ 参考技术B request.getRemoteAddr()
request.getRemoteHost()
request.getRemotePort()
request.getRemoteUser()
如何获取已登录用户的用户 ID?
【中文标题】如何获取已登录用户的用户 ID?【英文标题】:How to get the userID of a logged in user? 【发布时间】:2012-10-10 08:44:05 【问题描述】:我正在尝试获取当前登录用户的用户 ID。这是我的代码:
public int GetUserID(string _UserName)
using (var context = new TourBlogEntities1())
var UserID = from s in context.UserInfoes
where s.UserName == _UserName
select s.UserID;
return Int32.Parse(UserID.ToString()); //error is showing here
我正在使用我的控制器调用该方法:
public ActionResult NewPost(NewPost model)
var Business = new Business();
var entity = new Post();
entity.PostTitle = model.PostTitle;
entity.PostStory = model.PostStory;
entity.UserID = Business.GetUserID(User.Identity.Name);
Business.NewPost(entity);
Business.ViewPost(entity);
return View("ViewPost", model);
错误显示为“输入字符串格式不正确”。请帮忙。谢谢。
【问题讨论】:
【参考方案1】:您的查询返回一个 IEnumerable。您只需要获取一条记录:
using (var context = new TourBlogEntities1())
var userIds = from s in context.UserInfoes
where s.UserName == _UserName
select s.UserID;
return userIds.Single();
顺便说一句,如果有超过 1 条记录符合条件,.Single()
方法将抛出异常。希望您对数据库中的用户名字段有一个唯一的约束。
【讨论】:
谢谢哥们...也许是时候回归基础了! 是的,是时候了解基础知识了。在这种情况下,LINQ 是基础。在进入 ASP.NET MVC 之前,您可能应该先学习它。 我学到了一点,但现在我一定会再看一遍。谢谢。【参考方案2】: CreatedBy = this.HttpContext.User.Identity.Name,
【讨论】:
以上是关于关于java获取登录用户id的问题的主要内容,如果未能解决你的问题,请参考以下文章