刚接触ASP.Net,请问登陆用户信息应该怎么保存??
刚开始搞ASP.Net,现在在帮公司用ASP.Net做一个办公自动化系统。
我做了一个登陆页面,当用户在登陆页面上登陆后,我该把用户的用户名等信息保存在什么地方?其它页面怎么用这些信息?
还有,两个页面之间怎么传值?
搞惯win程序了,转到web就成了菜鸟了,呵呵 在线等。解决了就结
[解决办法]
沙发后解答
[解决办法]
保存在Session或cookie中
[解决办法]
我该把用户的用户名等信息保存在什么地方
————————————————————
用session来保存
其他页面都可以用session的,只要浏览器没有关闭session会存在
——————————————————————
两个页面传值问题,你说的是怎么样的传值?
用session同样可以,另外还可以用参数
[解决办法]
例子http://www.knowsky.com/341027.html
[解决办法]
劝楼主考虑到程序的效率 最好别用SESSION用传参数的办法吧!!
[解决办法]
使用Form验证,很简单,MSDN里讲得很详细,你去查查。
一般几行代码就搞定了!
[解决办法]
楼主上网查下就立马清除了
登录成功后session[ "用户名 "]=生铁;
以后
每一个页面只要
label.text=session[ "用户名 "];
都可以看到生铁了
另外查下参数传值,也是非常简单
[解决办法]
session
[解决办法]
用Session吧这个比较常用
在注册或登录页面用
Session[ "username "] = username.text
Session[ "userpwd "] = userpwd.text
这样在别的页面就可以直接用Session[ "username "]来使用了
[解决办法]
首先在web.config 里面做如下设置
<configuration>
<system.web>
<authentication mode= "Forms ">
<!-- 设置验证模式为Form验证-->
<forms loginUrl= "login.aspx " name = "login " />
<!-- 在要求验证时,重定向的页面login.aspx name为令牌Cookie 的名称,在同一个应用里要保证唯一-->
</authentication>
<authorization>
<deny users= "? "/>
<!-- 在需要保护的目录禁止匿名访问->
</authorization>
</system.web>
</configuration>
然后在Login.aspx里写如下代码:
private void btnLogin_Click(Object sender, EventArgs e)
{
if (txtUsername.Text == 用户名 &&txtPassword.Text == 密码)
// 判断用户,密码是否正确
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
//利用这个RedirectFromLoginPage方法用用户名创建一个持久性的Cookie
else
出错处理!
}
其它页面里可以用
Request.IsAuthenticated 来判断是否通过了验证
FormsAuthentication.SignOut() 退出
[解决办法]
其实你可以保存任何你现在可以想到的地方——你自己做权衡。这方面的可能性不是太少,而是太多了。我举个“畅想”,你可以使用SessionID号作为文件名,保存一个xml文件,存在网站的app_data目录下,在页面需要访问当前用户会话的数据的时候可以读写这个文件。类似的你能够借用到的持久化机制可以举出不下5种。
真正的问题是“你用它来干什么”?目标会影响到你选择最合适的技术。
权限控制决不是到“每一页有没有权限访问”为止。实际上这种权限判断只是最基本的,甚至是无能为力的。权限控制往往需要根据用户身份而控制到页面里边对数据的查询范围、允许更新的数据的范围,甚至字段,以及允许执行的操作。页面内要根据用户身份进行控制,而不是仅仅控制页面是否能访问。如果仅仅把权限理解为控制页面是否能访问,一旦用起来就会发现很困难、无能、远远没有达到用户的要求。
[解决办法]
学习,接分
[解决办法]
同时在线的人如果不多的话,用session应该没什么问题吧,如果人太多的话就得考虑这样的服务器性能问题了,本人还是使用session的
个人见解,共同学习
[解决办法]
推荐敏感信息保存到SESSION~
[解决办法]
用Session吧这个比较常用
在注册或登录页面用
Session[ "username "] = username.text
Session[ "userpwd "] = userpwd.text
这样在别的页面就可以直接用Session[ "username "]来使用了
[解决办法]
创建一个basepage类继承web.ui.pages,需要验证的页面继承这个类,在basepage类里重写OnInit方法,判断是否登录,代码如下
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// ManagerPageBase 的摘要说明
/// </summary>
public class ManagerPageBase : System.Web.UI.Page
{
public User CurrentUser
{
set
{
Session[Constants.S_USER] = value;
}
get
{
return (User)Session[Constants.S_USER];
}
}
public ManagerPageBase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
protected override void OnInit(EventArgs e)
{
if (Session[Constants.S_USER] == null)
{
Response.Redirect( "../Index.aspx ", true);
}
base.OnInit(e);
}
}
接分咯,哈哈哈