如果登录成功则
Session["UserName"]="admin";我用原来asp的思路建立一个文件checklogin.aspx在Page_Load里面判断
Session是否为空,如果空则返回登录页。然后每个页面包含,出现一个页面只能有一个Page指令错误。
删掉checklogin.aspx的page行也不行。请问大家是如何制作的?有的人说用用户控件,我不知道怎么用?
如果按包含的方法应该如何使用?
Session["UserName"]="admin";我用原来asp的思路建立一个文件checklogin.aspx在Page_Load里面判断
Session是否为空,如果空则返回登录页。然后每个页面包含,出现一个页面只能有一个Page指令错误。
删掉checklogin.aspx的page行也不行。请问大家是如何制作的?有的人说用用户控件,我不知道怎么用?
如果按包含的方法应该如何使用?
解决方案 »
- Page成员变量不能保持状态的问题
- getElementById能取到input里的值但取不到asp:TextBox的值
- 怎样通过javascript控制服务器按钮的Enabled属性
- 创建B2B网站支付问题
- (100分)问一个高难度的问题,没实力的不要进。。。
- 高分解决FreeTextBox 3.1.6插入链接不好用的问题。
- 请问:在vbscript中怎么调用web控件啊
- 请教乱码的问题
- asp.net接收php json传来的值
- 我是ASP.NET初学者,刚刚大学毕业,,,,,请问,
- datagrid中使用dropdownlist进行过滤的问题
- 哪里有VSS 6.0 客户端的安装程序下载啊...急死人啦....
http://chs.gotdotnet.com/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/formsauth.aspx
{
if((Session["UserName"] + "a") == "a")
{
this.response.redirect("/login.aspx");
this.response.end();
}
}调用的时候,把页面this传递进去,它就自动判断了.(上述语句大意如此,语法自行修改)
{
if(Session["admin"].ToString()+"a"=="a")
{
return false;
}
else
{
return true;
}
}
public void myIsLogin(Page myPage)
{
if((Session["UserName"] + "a") == "a")
{
this.response.redirect("/login.aspx");
this.response.end();
}
}
这里调用的时候怎么调用,这个函数应该放在那里?在其他页面如何调用?
this什么意思,Page myPage如何理解?
用.net提供的Forms验证方式比较好,
按照这个:
http://chs.gotdotnet.com/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/formsauth.aspx
作不行呀。谁能告诉我详细的原理
this什么意思,Page myPage如何理解?
-----------------------------
楼主,你基础知识太缺乏了.
此函数你可放在类中实现.为简单起见,你可先放在页面中,然后这样调用
this.myIsLogin(this);c#
Me.myIsLogin(Me);这个this就是指的当前页面,在VB.NET里面要写做Me,Page myPage这个是定义一个当前页面,名字叫myPage,如果在vb.net里面应当写做 myPage as Page
public void myIsLogin(Page myPage)
{
if((Session["UserName"] + "a") == "a")
{
this.Response.Redirect("/login.aspx");
this.Response.End();
}
}
在其他页面(MemberManage.aspx.cs中)使用:
...Page_Load()
if(!Page.IsPostBack)
{this.myIsLogin(this);}
编译运行提示
zp.admin.MemberManage不包含对myIsLogin的定义,我应该如何引用上面的函数,命名空间?
希望不要对我失去耐心
我刚刚搞好的
我是菜鸟,Session默认应该是个Object,如果有值赋给它则变成了字符串形式了,这时候使用Session["UserName"]==null可能会出现错误。
+a是让它使用字符串形式进行比较吧。我的问题不是这个呀????我现在到底该用哪种方式验证登录???使用Forms我也没成功,具体如下(简略的写代码):
Login.aspx.csusing System.Web.Security;//这个一定要加
private void btnSubmit_Click(object sender, System.EventArgs e)
{
....数据库操作
if(dr.Read())
{
conn.Close();
FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);
}
else{
conn.Close();
Response.Write("<script language='javascript'>alert('对不起,用户名或密码输入错误!')</script>");
}web.config大致如下:
<authentication mode="Forms">
<forms name="AuthCookie" loginUrl="admin/Login.aspx" protection="All" timeout="30" />
</authentication>
<authorization>
<allow users="?" />
</authorization>难道这样就可以了吗?编译运行不报错,数据库方面没问题。我不通过登录也可以到其他页面呀(页面并不像预期的调转到登录页面),需要(会话)验证的页面是否需要加点东西?
比如<%@ Control Language="VB" %>
if(Session["studentID"]!=null)
{
//#@#@%$
UserName.Text = student.StudentName;
}
else
Response.Redirect("Student_Login.aspx");
没有问题呀^_^
另外赋值我用Session["studentID"]="2005081327";
取值我用Session["student"].ToString();
若要转成int型用:int.Parse(Session["student"].ToString();)
希望你能用得上。
另外,我认为session验证比Form验证更灵活一些。
Form验证用的是cookie,可以做到在一段时间内免登录的,如果系统要这样的功能用Form验证最好。而且,Form验证可以区分角色,但得在Global.asa中写Application_AuthenticateRequest;要用session验证区分角色还得再设一个session["userrole"],所以根据系统的需要自已选择吧。
forms验证通过了。我想知道session验证怎么弄?我是asp转来的。
在Login.aspx.cs文件里写了个
public void myIsLogin(Page myPage)
{
if((Session["UserName"] + "a") == "a")
{
this.response.redirect("/login.aspx");
this.response.end();
}
}
在其他页面如何调用?
怎么把myIsLogin(page)在其他cs文件里也可以正常使用?
using 类名;(C#)
imports 类名(VB.net)
然后在下面就可以引用类中的函数了