FORM认证登录后,用户常用的基本资料信息如何全站调用?

viphk 2015-03-12 01:42:58
使用FORM认证登录后,调用会员的常用基本信息,我现在是这样做的,不知道会不会引起串号,行不行的通,如果不行,大家都是用的什么方式?
分不多,新手请大家指点,谢谢!

public class MyUser
{
//先获取登陆用户名
private static string userid()
{
string userid;
IPrincipal p = HttpContext.Current.User;
userid = p.Identity.Name.ToString();
return userid;
}

//获取登陆用户对应的会员名称
private static string username()
{
string Name;
if (HttpContext.Current.Session["Name"] != null)
Name = HttpContext.Current.Session["Name"].ToString();
else
{
string id = userid();
SqlServerDataBase db = new SqlServerDataBase();
Name = Convert.ToString(db.GetTier("select Users_Qtname from Fs_Users where Users_id='" + id + "'", null));//获取会员名称
HttpContext.Current.Session["Name"] = Name;//储存到Session中
}
return Name;
}

//声明一个属性,全部调用
/// <summary>
/// 会员名
/// </summary>
public static string UserName
{
get
{
return username();
}
}
}
//全站调用
MyUser.UserName
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
viphk 2015-03-12
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
如果你担心什么问题,就写出测试程序来反复运行几百遍(包括并发运行),然后用你自己的测试结果再来问问题。 不要写点代码就问别人“是不是这样写啊?”。
我试了是可以,但是没有运行这么多次,登陆了几个号试了一下,但是担心有问题,所以问问老师们,这样可以节省很多的时间
於黾 2015-03-12
  • 打赏
  • 举报
回复
放到Session里之后,唯一的问题是Session可能会丢失(一般默认是20分钟),那么你需要判断Session为null的时候,重新从数据库里读取信息 因为你是Form验证,根本没有登陆窗体,也不需要登陆 如果是匿名验证,自己做登陆窗体,那么当Session丢失的时候,应该跳转回登陆窗体要求重新填写用户名密码
  • 打赏
  • 举报
回复
如果你担心什么问题,就写出测试程序来反复运行几百遍(包括并发运行),然后用你自己的测试结果再来问问题。 不要写点代码就问别人“是不是这样写啊?”。
exception92 2015-03-12
  • 打赏
  • 举报
回复
不是可以放到Session里么

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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